Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

Atlas App Services 백엔드에 연결 - Node.js SDK

이 페이지의 내용

  • 시작하기 전에
  • 앱 클라이언트에 액세스
  • 앱 클라이언트의 인스턴스 조회
  • 앱 클라이언트에 대한 시간 초과 구성
  • 앱 메타데이터 암호화

앱 클라이언트는 Atlas App Services 백엔드에 대한 인터페이스입니다. 인증 기능 동기화 관리에 액세스할 수 있습니다.

  1. App Services 앱 만들기

  2. Realm Node.js SDK 설치

클라이언트 에서 App Services 백엔드 에 연결하려면 구성 객체 를 만들어야 합니다. 그런 다음 해당 구성 객체 를 Realm.App() 인스턴스 에 전달합니다.

App Services UI 에서 찾을수 있는 App Services App 의 id 필드 와 App ID 를 포함해야 합니다.

// Initialize your App.
const app = new Realm.App({
id: "<yourAppId>",
});

여러 앱 클라이언트 인스턴스를 만들어 여러 앱에 연결할 수 있습니다. 동일한 앱 ID 를 주식 하는 모든 앱 클라이언트 인스턴스는 동일한 기본 연결을 사용합니다.

중요

앱 초기화 후 앱 구성 변경하기

버전 12.6.0에서 변경됨: baseUrl 은(는) 앱 구성에 캐시되지 않습니다.

앱 클라이언트 를 초기화하면 구성이 내부적으로 캐시됩니다. 동일한 프로세스 내에서 구성이 변경된 앱을 닫았다가 다시 열려고해도 아무런 효과가 없습니다. 클라이언트 는 캐시된 구성을 계속 사용합니다.

Node.js SDK 버전 12.6.0 부터는 의 이 baseUrl AppConfiguration 캐시 되지 않습니다 . 즉, baseUrl 을 변경할 수 있으며 앱 클라이언트는 업데이트된 구성을 사용합니다. 이전 SDK 버전에서는 캐시된 앱 구성의 baseUrl 변경 사항이 적용되지 않았습니다.

애플리케이션의 어느 곳에서나 앱 클라이언트의 인스턴스를 조회하려면 Realm.App.getApp() 을 호출하고 App ID 를 전달합니다.

const app = Realm.App.getApp("<yourAppId>");

AppConfiguration 에서 요청에 대한 선택적 timeout 를 구성할 수 있습니다. 요청 이 시간 초과되기 전에 밀리초 단위로 허용합니다.

이 시간 초과 간격은 선택 사항인 동기화 구성 cancelWaitsOnNonFatalErrors 부울과 함께 사용할 수 있습니다. 제한 시간 간격이 경과하면 업로드 및 다운로드를 기다리고 있는 미해결 작업이 모두 취소됩니다. 이 설정이 false이면 Realm이 이러한 시간 초과를 치명적이지 않은 오류로 처리하므로 업로드 및 다운로드 대기가 취소되지 않습니다.

예제 는 시간 초과 후 비동기 작업 취소를 참조하세요.

const app = new Realm.App({
id: APP_ID,
// You can optionally specify a timeout in milliseconds
timeout: 10000,
});

Atlas App Services가 클라이언트 기기에 저장하는 메타데이터를 암호화할 수 있습니다. MetadataMode 열거형 값을 사용하여 암호화 동작을 결정합니다.

앱 메타데이터를 암호화하려면 다음을 수행합니다.

  1. MetadataMode Realm 에서 를 가져오고 다른 종속성을 가져옵니다:

    import Realm, { BSON, MetadataMode } from "realm";
    import Realm, {
    AppConfiguration,
    BSON,
    MetadataMode,
    Configuration,
    } from "realm";
  2. metadata 속성을 포함하는 앱 구성 객체를 만듭니다.

  3. metadata.modeMetadataMode.Encryption로 설정합니다.

  4. 암호화에 사용할 키로 metadata.encryptionKey 를 설정합니다.

  5. 앱 구성 객체를 new Realm.App() 에 전달합니다.

// Retrieve encryption key from secure location or create one
const encryptionKey = new ArrayBuffer(64);
// Use encryption key in app configuration
const config = {
id: APP_ID,
metadata: { mode: MetadataMode.Encryption, encryptionKey: encryptionKey },
};
const app = new Realm.App(config);
// Retrieve encryption key from secure location or create one
const encryptionKey = new ArrayBuffer(64);
// Use encryption key in app configuration
const config: AppConfiguration = {
id: APP_ID,
metadata: { mode: MetadataMode.Encryption, encryptionKey: encryptionKey },
};
const app = new Realm.App(config);

돌아가기

Atlas App Services