Docs Menu
Docs Home
/ /
Atlas App Services

Atlas Device Sync を使い始める

項目一覧

  • 始める前に
  • データモデルを構成する
  • SDK の選択
  • データモデルを定義する
  • データアクセス パターンの定義
  • データアクセス ルールの定義
  • 同期の構成
  • 同期データ使用量の最適化
  • クライアント アプリケーションでのクエリの作成

デバイス間でデータを同期するには、 Device Sync を有効にし、 Atlas Device SDK で同期関連のメソッドとプロパティを使用します。

Tip

チュートリアルを確認する

例えで学びたい場合は、 Device Syncチュートリアルをご覧ください。このチュートリアルでは、Atlas App Services がサポートする一般的なプラットフォームのクライアントと同期された To Do リスト アプリケーションを使用します。

Atlas Device SDKは、モバイル用に最適化されたオブジェクトデータベースであるRealm Core Database をラップします。 複数の言語とプラットフォームで利用可能な SDK には、クライアントコード内で同期されたデータベースを操作するために必要なものがすべて含まれています。 複数の SDK 言語を使用して、デバイスやプラットフォーム全体で同期されたデータセットを操作できます。

このガイドでは、SDK を使用した Device Sync の構成に焦点を当てています。 Atlas Device SDKをより一般的にインストールおよび使用する方法の詳細を含む詳細なドキュメントについては、 「SDK Docs 」 をご覧ください。

注意

WebAssumely SDK での の使用Device SyncRealmJavaScript

Realm Database API と Atlas Device Sync を使用してブラウザ用のリアルタイム Web アプリを構築する方法の詳細については、 「 Realm Web & Atlas Device Sync を使い始める(プレビュー) 」を参照してください。 または、 MongoDB Data Access を使用して、Atlas クラスター内の同じデータをクエリすることもできます。

同期されたデータベースでは、定義したオブジェクトモデルを使用して、データベース内のオブジェクトのタイプが決定されます。 さらに、Sync では同期されたオブジェクトタイプごとにサーバー側のドキュメント スキーマが必要になるため、サーバーは同期されたデータベースと MongoDB Atlas 間の変更を変換して適用できます。

同期されたオブジェクトモデルを定義するには、オブジェクトタイプごとに次のいずれかを行います。

  • SDK からオブジェクトモデルを同期:開発モードでは、同期されたオブジェクトタイプごとにドキュメント スキーマを自動的に生成し、そのスキーマをオブジェクトタイプと同じ名前の連結クラスター内のコレクションに割り当てます。 開発モードでは、本番アプリで使用するのと同じオブジェクト モデルとコードを使用して、クライアント アプリケーションから同期されたデータモデルを構成できます。 これは、希望するプログラミング言語で慣用的なオブジェクトモデルを使用するクライアント優先のアプローチを優先する場合に便利です。

    開始するには、「データモデルの作成 」を参照してください。

  • ドキュメント スキーマからオブジェクトモデルを生成する: Atlas にすでにデータがある場合は、アプリの 同期されたクラスター に定義されたドキュメント スキーマと一致する言語固有のオブジェクトモデルを自動的に生成できます。 これらのスキーマは手動で定義することも、App Services がクラスター内の既存のデータをサンプリングして自動的に作成することもできます。 これは、サーバー優先のアプローチや複数の SDK を使用してアプリを構築する計画がある場合に便利です。

    クライアント アプリケーションで使用できるオブジェクトモデルを生成する方法については、「 SDK オブジェクトモデルの生成 」を参照してください。

    生成されたオブジェクトモデルを取得したら、クライアントアプリケーションに直接コピーし、希望のプログラミング言語で通常のオブジェクトや構造体を使用するのと同じ方法で使用できます。

アプリのデータモデルを決定したら、アプリのデータのデータアクセスパターンとアクセスルールを定義できます。

クライアント アプリケーションは、ドキュメントのクエリ可能なフィールドをクエリして、同期するオブジェクトを決定できます。 次に、App Services はルールとデフォルト ロールを適用して、クエリに一致するオブジェクトをユーザーが読み書きできるかどうかを判断します。

データアクセス ルールは、同期するデータと、各ユーザーのデータの読み取りおよび書込み能力を決定します。 ルールはアプリのデータモデルに密接にリンクされています。

Device Sync では、クライアント アプリケーション内の一致するオブジェクトのクエリを通じて同期するデータを指定します。 次に、App Services はロールとルールを評価して、ユーザーが読み取りと書込みができるオブジェクトを決定します。

特定のコレクションに対してロールを定義できます。 デフォルト ロールは、より具体的なロールが適用されない場合に読み取りおよび書込み権限を提供します。 デフォルトのロールはアプリがアクセスできるすべてのコレクションに適用されますが、コレクション名を指定することで特定のコレクションへのロールを制限できます。

Device Sync を使用すると、クライアントがアプリ内のデータにアクセスする方法を指定できます。 同期を有効にして構成する方法のウォークスルーについては、「 Atlas Device Sync の構成と有効化 」を参照してください。

Device Sync は、コレクションのすべてのデータを Atlas クラスター内の定義されたスキーマと同期します。 スキーマでフィールドを指定しない場合、Device Sync はそのフィールドをクライアントに同期しません。

Syncは、同期されたクラスターにいくつかのユーティリティ データを保存し、クライアントとデータを同期できるようにします。 Device Sync には、同期されたクラスターに保存されるユーティリティ データの量を減らすための最適化が組み込まれています。 ユースケースに合わせてユーティリティ データ量をさらに減らしたい場合は、 Device Sync Atlas の使用を最適化する ためのガイドを参照してください。

Device Sync を有効にすると、クライアント アプリケーションからクエリの作成を開始できます。

Atlas Device SDK は、クライアント アプリケーションからクエリを作成、更新、および削除するメソッドを提供します。 SDK はサブスクリプションを使用して、これらのクエリをクライアント側で保持します。 これらのサブスクライブを通じて、アプリケーションはバックエンド アプリとオブジェクトを同React 、変更を監視できます。

クライアント アプリケーションからクエリを作成するには、希望するプログラミング言語の Atlas Device SDK ドキュメントを参照してください。

警告

クエリ サイズの制限

Device Sync を使用する場合のクライアント アプリケーションからのクエリのサイズ制限256 kBです。 クエリでこの制限を超えると、 LimitsExceeded エラー が発生します。

重要

Flexible Sync はカスタム照合を無視します

Flexible Sync は、Atlas の MongoDB コレクションに構成したカスタム照合を無視します。 代わりに、同期されたコレクションは、同期サブスクリプションまたは権限を評価するときに常に {locale: "simple"}を使用します。

次へ

Atlas アプリケーション サービスとは