Docs Menu
Docs Home
/ /
Atlas Device SDK
/ /

Atlas App Services バックエンドへの接続 - Node.js SDK

App クライアントは、Atlas App Services バックエンドへのインターフェースです。 認証機能関数同期マネジメントへのアクセスを提供します。

  1. App Services アプリの作成

  2. Realm Node.js SDKのインストール

クライアントから App Services バックエンドに接続するには、構成オブジェクトを作成する必要があります。 次に、その構成オブジェクトを Realm.App()インスタンスに渡します。

App Services App には、 idフィールドと App IDを含める必要があります。これは App Services UI で確認できます。

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

複数のアプリに接続するには、複数のアプリクライアントインスタンスを作成します。 同じアプリ ID を共有するすべてのアプリクライアント インスタンスは、同じ基礎の接続を使用します。

重要

アプリ初期化後のアプリ構成の変更

バージョン12.6.0での変更: baseUrlはアプリ構成にキャッシュされません。

App クライアントを初期化すると、構成は内部的にキャッシュされます。 同じプロセス内で変更された構成でアプリを閉じてから再度開かしようとしても効果はありません。 クライアントはキャッシュされた構成を引き続き使用します。

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,
});

App Services がクライアント デバイスに保存するメタデータを暗号化できます。 暗号化動作を決定するには、 MetadataMode 列挙型の値を使用します。

アプリのメタデータを暗号化するには:

  1. Realm MetadataModeをインポートし、他の依存関係をインポートします。

    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

項目一覧