Docs Menu
Docs Home
/ /
Atlas App Services
/ /

クライアントから Atlas への一方向へのデータのストリーミング

項目一覧

  • Atlasアクセスの設定
  • Atlas App Services アプリの作成
  • Device Sync と Data Ingest の設定
  • 認証プロバイダを有効にする
  • クライアント アプリケーションへの同期の追加
  • クライアントを App Services バックエンドに接続する
  • ユーザーの認証
  • 同期された Realm を開く
  • 非対称オブジェクトの作成とデータの書込み

MongoDB Atlas にストリーミングしたい大量のデータを生成するモバイルまたはクライアント アプリケーションがある場合は、Device Sync を使用してデータを一方向に同期できます。 この一方向同期を可能にする機能をData Ingestと呼びます。

クラウドにデータを送信する気象センサーなど、IoT アプリケーションでデータを一方向に同期したい場合があります。 Data Ingest は、小売アプリからの請求書作成や、アプリケーション イベントのログ記録など、競合の解決を必要としない他のタイプの不変データを書き込む場合にも役立ちます。

Data Ingest は、クライアント側の挿入専用ワークロードのパフォーマンスを向上させるために最適化されています。 このデータは、ストリーミングしている Realm から読み取ることはできません。

現在、Data Ingest は次の Realm SDK でのみ使用できます。

  • C++ SDK

  • .NET SDK

  • Kotlin SDK

  • Node.js SDK

  • React Native SDK

  • Swift SDK

開始するには、次の高レベルの手順に従います。

1

App Services アプリケーションは、クライアント デバイスが MongoDB Atlas に接続できるようにするゲートウェイです。 アプリを作成するときは、名前を付け、Atlas クラスターにリンクし、アプリケーションに最適な配置モデルと配置リージョンを指定します。

App Services Appの作成方法については、「 アプリの作成 」を参照してください

2

Device Sync は、Atlas とクライアント デバイス間でデータを同期するサービスです。 Device Sync は、Realm SDK と合わせて、ネットワーク接続、ユーザー権限、競合の解決を自動的に管理します。 App Services Appは、 Device SyncとRealm SDK がデータを保護するために活用する組み込みのユーザー認証を提供します。

Device Sync を構成するときは、クライアント デバイスがアクセスできるデータソースと、ユーザーが書込みできるデータを決定する権限を指定します。

Device Sync は、 Atlas UI、Atlas App Services コマンドラインインターフェイス、または App Services Admin API経由で構成できます。 Device Sync を初めて構成するときに、Atlas UI を使用すると便利な場合があります。これには、さまざまな設定やオプションに関するリンクと情報が提供されるためです。

1 つ以上のコレクションに対して Data Ingest を有効にするには、Device Sync 構成の Advanced Configurationセクションでコレクションを選択します。 このドロップダウンで選択できるのは、 Atlas App Services スキーマを持つコレクションのみです。

一方向に同期するコレクションのスキーマをまだ作成していない場合は、次のいずれかを実行できます。

3

同期されたデータにアクセスするには、クライアント デバイスが認証される必要があります。 App Services は、ユーザーが認証できるようにするためのメール/パスワードや匿名認証などのいくつかの認証プロバイダを提供します。 クライアント アプリケーションで認証を有効にするには、これらの認証プロバイダの 1 つ以上を構成します。

App Services App UI 内で認証プロバイダを設定するには、左側のナビゲーション メニューで [ Authentication ] を選択し、そのプロバイダーをクリックして構成します。 また、 Atlas App Services コマンドライン インターフェースまたは App Services Admin API を使用して App Services 構成を編集し、認証プロバイダを設定することもできます。

これにより、Atlas 側で必要なすべてのセットアップが完了し、クライアント アプリケーションでデータを一方向に同期する準備ができます。

1

クライアント アプリケーション コードで、App クライアントを初期化し、クライアントを App Services バックエンドに接続します。 これにより、クライアントは認証などの App Services 機能を使用できるようになり、同期された Realm を開くことができるようになります。

2

同期されたデータを書き込むには、クライアント アプリケーション ユーザーが App Services バックエンドで認証される必要があります。 ユーザーを登録およびログインするためのロジックをクライアント アプリに追加します。

3

認証されたユーザーを用意したら、Realm Database の同期されたインスタンスを開いて、そのユーザーに使用できます。 非対称同期は書込み専用であるため、デバイス上のデータを読み取るための Flexible Sync クエリを定義することはできません。 これは、デバイスに同期するデータを決定するためにクエリ サブスクリプションを作成する双方向 Flexible Sync とは異なります。

4

Realm SDK は、Data Ingest で使用する特殊なタイプのオブジェクト(非対称オブジェクト)を提供します。 非対称オブジェクトの定義方法の詳細については、Realm SDK ドキュメントを参照してください。

非対称オブジェクトを作成して同期された Realm に書込み、Realm SDK は Device Sync を使用してデータを自動的にストリーミングするプロセスを管理します。 デバイスがネットワークに接続している場合、SDK は App Services バックエンドと Atlas にデータをストリーミングします。 デバイスにネットワーク接続がない場合、データはデバイス上に保持され、ネットワーク接続が復元されたときに自動的にアップロードされます。

Atlas Device Sync は、このデータのライフサイクルを完全に管理します。 Data Ingest 同期が完了するまでデバイス上に保持され、その後デバイスから削除されます。

戻る

Atlas とのクライアント データの同期