Docs Menu
Docs Home
/ /
Atlas App Services
/ /

Atlas Device Sync の設定と有効化

項目一覧

  • Overview
  • 前提条件
  • 手順

Atlas Device Sync は、App Services UI、App Services CLI、または Atlas App Services Admin API を使用して構成して有効にできます。 既存の構成も同じ方法で更新できます。 Device Sync を初めて有効にする場合は、必要な手順について説明する UI が最適です。

Device Sync をすでに有効にした後、Atlas Device Sync 構成を変更することをお勧めします。 Device Sync を有効にするのと同じ手順で構成を更新できます。 Flexible Sync モードを使用している場合は、同期を終了して再度有効にする必要なく構成を更新できます。

Device Sync を一時停止または終了した後に再度有効にする場合は、 「 Device Sync を 再開 または再度有効にする 」を参照してください。

Tip

Device Sync は 30 日間使用されないと、自動的に一時停止します。

データモデルの構成方法がまだ決定されていない場合は、「同期データモデルの概要 」を参照してください。

開発モードを使用していない限り、同期を有効にする前に、同期されたクラスター内のコレクションに対して少なくとも 1 つの有効なスキーマを指定する必要があります。 少なくとも、スキーマは _idをプライマリキーとして定義する必要があります。 また、使用するフィールドをクエリ可能なフィールドとして含める必要があります。

スキーマを定義する方法の詳細については、「 スキーマの定義および強制 」を参照してください。

注意

Device Sync のデータソース要件

Device Sync を有効にするには、App Services App に次の要件を満たすリンクされたデータソースが少なくとも 1 つ必要です。

  • MongoDB 5.0以降を実行しているシャーディングされていない MongoDB Atlas クラスター。

  • クラスターは、 サーバーレスインスタンス または フェデレーティッドデータベースインスタンス にはできません。 「データソースの制限 」を参照してください。

1

アプリケーションで Device Sync を有効にするには、左側のナビゲーション メニューから Device Syncの構成画面に移動します。

2

プロンプトに従って Device Sync を設定します。 利用可能な構成設定の詳細については、 「 同期設定 」を参照してください。

3

[ Enable Syncをクリックし、表示される推奨事項をメモし、選択を確認します。

1

MongoDB Atlas Admin API キーを使用して CLI にログインします。

appservices login --api-key="<my api key>" --private-api-key="<my private api key>"
2

アプリの構成ファイルのローカル コピーを取得します。 アプリの最新バージョンを取得するには、次のコマンドを実行します。

appservices pull --remote="<Your App ID>"

また、UI または管理 API からアプリケーションの構成ファイルのコピーをエクスポートすることもできます。 方法については、「アプリをエクスポートする 」を参照してください。

3

アプリケーション内の単一のリンクされたクラスターの同期を有効にできます。 クラスターをまだアプリケーションにリンクしていない場合は、まず「 データソースのリンク」ガイドに従ってください。

App Services Appには、同期構成ファイルがある sync ディレクトリがあります。 同期をまだ有効にしていない場合、このディレクトリは空になります。

次のようなconfig.jsonを追加します。

{
"type": "flexible",
"development_mode_enabled": <Boolean>,
"service_name": "<Data Source Name>",
"database_name": "<Development Mode Database Name>",
"state": <"enabled" | "disabled">,
"client_max_offline_days": <Number>,
"is_recovery_mode_disabled": <Boolean>,
"indexed_queryable_fields_names": <Array of String Field Names>,
"queryable_fields_names": <Array of String Field Names>,
"collection_queryable_fields_names": <Map[String][]String>
}

詳細については、同期構成ファイル のリファレンスを参照してください。

4

変更を配置して、データの同期を開始します。 アプリ構成をインポートします。

appservices push --remote="<Your App ID>"
1

アプリケーション内の単一のリンクされたクラスターに対して Device Sync を有効にできます。 クラスターをアプリケーションにまだリンクしていない場合は、「 データソースのリンク」ガイドに従ってください。

注意

アクセス トークンによるリクエストの認証

App Services Admin API へのリクエストを認証するには、MongoDB Cloud API からの有効かつ現在の認証トークンが必要です。 有効なアクセストークンを取得する方法については、 API 認証のドキュメントをお読みください。

同期を設定するには、クラスターのサービス構成ファイルが必要です。 Admin API を通じてすべてのサービスを一覧表示すると、構成ファイルを見つけることができます。

クラスターの ID の検索
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/services \
-X GET \
-h 'Authorization: Bearer <Valid Access Token>'

同期を有効にするために更新する必要があるクラスターを特定します。 アプリを構成するときにデフォルト名を受け入れた場合、これはnamemongodb-atlasで、 typemongodb-atlasであるクラスターになります。 このクラスターの_idが必要です。

これで、このクラスターのサービス構成ファイルを取得できます。

クラスターのサービス構成ファイルの取得
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/services/{MongoDB_Service_ID}/config \
-X GET \
-h 'Authorization: Bearer <Valid Access Token>'

同期を構成するために、次のステップでこの構成にflexible_syncオブジェクトを追加します。

2

開発モードを有効にして本番環境を効率化する場合は、次のコマンドを使用します。

開発モードの有効化
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/sync/config \
-X PUT \
-h 'Authorization: Bearer <Valid Access Token>' \
-h "Content-Type: application/json" \
-d '{"development_mode_enabled": true}'
3

変更を配置してデータの同期を開始するには、次のテンプレート構成を使用して、 flexible_syncオブジェクトでクラスター構成を更新する Admin API リクエストを送信します。

同期構成の更新
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/services/{MongoDB_Service_ID}/config \
-X PATCH \
-h 'Authorization: Bearer <Valid Access Token>' \
-h "Content-Type: application/json" \
-d '<Flexible Sync Configuration>'
Flexible Sync の構成
{
"flexible_sync": {
"state": "enabled",
"database_name": "<Name of Database>",
"client_max_offline_days": <Number>,
"is_recovery_mode_disabled": <Boolean>,
"indexed_queryable_fields_names": <Array of String Field Names>,
"queryable_fields_names": <Array of String Field Names>,
"collection_queryable_fields_names": <Map[String][]String>
}
}

同期構成の詳細については、同期構成ファイル リファレンス を参照してください。

ステップ1で説明されているように、サービス構成を再度取得することで、同期構成が追加されていることを確認できます。

戻る

同期の構成