Docs Menu
Docs Home
/ /
Atlas App Services
/ /

同期の一時停止または終了

項目一覧

  • 同期の一時停止
  • 同期の終了
  • 同期を再度有効にする

アプリの Atlas Device Sync を無効にする場合は、一時的に一時停止または永続的に終了できます。 Device Sync を無効にした後に再度有効にすることもできます。

クラスターを一時停止する必要がある場合は、Device Sync を一時的に一時停止できます。 一時停止することで、 Device Sync 構成 をリセットしたり Device Sync メタデータを失うことなく、 再度 を有効 にすることができます。

Device Sync の構成を変更する場合は、トラブルシューティングのために Device Sync を永続的に終了して再度有効にすることができます。

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

Device Sync は一定期間、完全に無効にせずに一時停止できます。 Device Sync を停止すると、Atlas とアプリケーション間の変更の同期が停止します。

重要

クラスターを一時停止する必要がある場合は、まず Device Sync を一時停止してください。 それ以外の場合は、Device Sync を終了して再度有効にし、クライアント リセットを実行する必要があります。

Device Sync を一時停止すると、クライアントからの受信接続は拒否されます。 つまり、アプリに対して Device Sync を一時停止すると、すべてのクライアントの変更の同期が停止します。

1

App Services UI の [ Device Syncタブで、画面上部の [ Pause Sync ] ボタンを押します。

次に、同期を一時停止することを確認します。

App Services API を使用して、Device Sync をプログラムで一時停止できます。

1

App Services Admin API へのすべてのリクエストには、 Authorizationヘッダーに Bearer トークンとして MongoDB Cloud API からの有効で現在の認可トークンが含まれている必要があります。

認証トークンの取得方法の詳細については、 「 認証トークンの取得 」を参照してください。

2
  • アプリのグループとアプリ IDを取得します。

  • 同期サービスのサービス ID を取得します。 adminListServicesエンドポイントを使用して、プログラムですべてのサービスを取得できます。

あるいは、UI を表示するときに URL からグループ、アプリ、およびサービス ID を抽出することもできます。

  1. GoApp Services AppDevice Syncが構成されている に します。

  2. サイドバーのManageの下のLinked Data Sourcesを選択します。

  3. mongodb-atlas CLUSTER を選択します。

ブラウザのツールバーの URL は次のようになります。

https://services.cloud.mongodb.com/groups/$GROUP_ID/apps/$APP_ID/services/$SERVICE_ID/config

3

Device Sync サービスの構成を取得するには、 adminGetServiceConfigエンドポイントに GET リクエストを送信します。 これにより、次のようなサービス構成オブジェクトが返されます。

{
"clusterId": "<MY-CLUSTER-ID>",
"clusterName": "Cluster0",
"clusterType": "atlas",
"flexible_sync": {
"state": "enabled",
"database_name": "todo",
"permissions": {
"rules": {},
"defaultRoles": []
},
"client_max_offline_days": 30,
"is_recovery_mode_disabled": false
},
"groupName": "<MY-GROUP-NAME>",
"orgName": "<MY-ORG-NAME>",
"readPreference": "primary",
"wireProtocolEnabled": false
}

このエンドポイントによって返される同期構成の詳細については、「 同期構成ファイル リファレンス 」を参照してください。

4

構成のflexible_sync部分のみを新しい JSON オブジェクトに削除します。 この構成には、アプリケーションの同期プロトコルの現在の状態を反映するstateフィールドが含まれています。 この値をdisabledに設定します。 これは、次のような JSON Blog のようになります。

{
"flexible_sync": {
"state": "disabled",
"database_name": "todo",
"permissions": {
"rules": {},
"defaultRoles": []
},
"client_max_offline_days": 30,
"is_recovery_mode_disabled": false
}
}
5

更新された同期サービス構成を、 payload としてadminUpdateServiceConfigエンドポイントへの PATCH リクエストで送信します。

Device Sync を一時停止した後、再度有効にすることができます。 Device Sync を一時停止すると、同期履歴を含む構成設定とすべての Device Sync メタデータが保持されます。 一時停止した Device Sync を再度有効にすると、クライアントは正常に再接続できます。

警告

oplogが Device Sync を一時停止した時間を過去にロールバックする場合は、Device Sync を終了して再度有効にする必要があります。 たとえば、クラスターの oplog を12時間のみ保持し、Device Sync を12時間以上一時停止する場合は、Device Sync を終了して再度有効にする必要があります。

アプリで一時停止した Atlas Device Sync を終了して再度有効にすると、Atlas Device Sync メタデータが消去されるため、構成設定を再度指定する必要があります。 クライアントは、Atlas Device Sync が終了した後に再接続するときにクライアント リセットを実行する必要があります。 詳細については、「同期の終了 」を参照してください。

Device Sync を有効にした場合は、次のような状況で Device Sync を 終了 して再度有効にする必要がある場合があります。

  • Shared Tier Atlas クラスターから共有インスタンスまたは専用インスタンスへのアップグレード

  • リージョン/クラウド プロバイダーに分散された Atlas クラスターへの移動

  • NVMe Atlas クラスターへのアップグレード

  • oplogのロールオーバー

  • 使用頻度が低いため、共有階層クラスターで Device Sync セッションが一時停止されている

  • MongoDB サポートのリクエストに応じてトラブルシューティングを行います

  • 同期モードの切り替え。 たとえば、パーティションベースの同期から Flexible Sync に切り替える場合

  • Sync で使用したコレクションの削除。 たとえば、 Teamオブジェクトを保存および同期するTeamコレクションがあり、そのコレクションを削除する場合は、同期を終了して再度有効にする必要があります。

警告

同期終了後の同期の復元

Atlas Device Sync を終了して再度有効にすると、クライアントは同期できなくなります。 同期を復元するには、クライアントがクライアント リセット ハンドラーを実装する必要があります。 このハンドラーは、同期されていない変更を破棄したり、回復を試行したりできます。

アプリ内で Device Sync を終了し、デバイス間でのデータの同期を停止します。

1

App Services UI の [ Syncタブで、画面上部の赤色の [ Terminate Sync ] ボタンをクリックします。

2

表示されるモーダルで、テキストエントリに「同期を終了」と入力し、 Terminate Syncボタンをクリックします。

UI 配置案を使用している場合は、同期を実際に終了するには配置案を配置する必要があります。

これで Device Sync を終了しました。

App Services API を使用して、Device Sync をプログラムによって終了できます。

1

App Services Admin API へのすべてのリクエストには、 Authorizationヘッダーに Bearer トークンとして MongoDB Cloud API からの有効で現在の認可トークンが含まれている必要があります。

認証トークンの取得方法の詳細については、 「 認証トークンの取得 」を参照してください。

2
  • アプリのグループとアプリ IDを取得します。

  • 同期サービスのサービス ID を取得します。 adminListServicesエンドポイントを使用して、プログラムですべてのサービスを取得できます。

あるいは、UI を表示するときに URL からグループ、アプリ、およびサービス ID を抽出することもできます。

  1. GoApp Services AppDevice Syncが構成されている に します。

  2. サイドバーのManageの下のLinked Data Sourcesを選択します。

  3. mongodb-atlas CLUSTER を選択します。

ブラウザのツールバーの URL は次のようになります。

https://services.cloud.mongodb.com/groups/$GROUP_ID/apps/$APP_ID/services/$SERVICE_ID/config

3

Device Sync サービスの構成を取得するには、 adminGetServiceConfigエンドポイントに GET リクエストを送信します。 これにより、次のようなサービス構成オブジェクトが返されます。

{
"clusterId": "<MY-CLUSTER-ID>",
"clusterName": "Cluster0",
"clusterType": "atlas",
"flexible_sync": {
"state": "enabled",
"database_name": "todo",
"permissions": {
"rules": {},
"defaultRoles": []
},
"client_max_offline_days": 30,
"is_recovery_mode_disabled": false
},
"groupName": "<MY-GROUP-NAME>",
"orgName": "<MY-ORG-NAME>",
"readPreference": "primary",
"wireProtocolEnabled": false
}

このエンドポイントによって返される同期構成の詳細については、「 同期構成ファイル リファレンス 」を参照してください。

4

この構成には、アプリケーションの同期プロトコルの現在の状態を反映するstateフィールドが含まれています。 この値を空のstring "" に設定します。 これは、次のような JSON Blog のようになります。

{
"flexible_sync": {
"state": "",
"database_name": "todo",
"permissions": {
"rules": {},
"defaultRoles": []
},
"client_max_offline_days": 30,
"is_recovery_mode_disabled": false
}
}
5

更新された同期サービス構成を、 payload としてadminUpdateServiceConfigエンドポイントへの PATCH リクエストで送信します。

Device Sync を終了した後、再度有効にすることができます 。 Device Sync を終了すると、同期履歴を含む構成設定とすべての Device Sync メタデータが破棄されます。 同期を再度有効にするには、同期の構成手順を再度完了する必要があります。 以前に接続したクライアントは、クライアント リセットを実行するまで再接続できません。

Device Sync を一時停止または終了した後、再度有効にすることができます。 Device Sync を再度有効にすると、アプリは Atlas への変更の同期を再度開始できます。 Device Sync を再度有効にすると、アプリは再度クライアントからの着信接続を受け入れ始めます。

Device Sync を一時停止しても、App Services は構成設定を保持し、 Sync の構成ステップをスキップできます。 Device Sync を終了する場合、またはoplogが Device Sync を一時停止した時間を過去にロールバックした場合は、構成設定を再度指定する必要があります。

Device Sync を再度有効にするには、「 Atlas Device Sync の構成と有効化 」ガイドの手順に従ってください。

App Services API を使用して、Device Sync をプログラムで再度有効にすることができます。 この手順では、同じ設定で同期を再度有効にするために使用できるクラスターの同期構成がすでに存在していることを前提としています。

1

App Services Admin API へのすべてのリクエストには、 Authorizationヘッダーに Bearer トークンとして MongoDB Cloud API からの有効で現在の認可トークンが含まれている必要があります。

認証トークンの取得方法の詳細については、 「 認証トークンの取得 」を参照してください。

2

アプリのグループとアプリ IDを取得します。

3

この構成には、アプリケーションの同期プロトコルの現在の状態を反映するstateフィールドが含まれています。 この値をenabledに設定します。 これは、次のような JSON Blog のようになります。

{
"flexible_sync": {
"state": "enabled",
"database_name": "todo",
"permissions": {
"rules": {},
"defaultRoles": []
},
"client_max_offline_days": 30,
"is_recovery_mode_disabled": false
}
}
4

更新された同期サービス構成を、 payload としてadminUpdateServiceConfigエンドポイントへの PATCH リクエストで送信します。

同期を再度有効にすると、受信クライアント接続が有効になります。 ただし、状況によっては、クライアントが再度同期する前に、クライアント アプリ コードでクライアント リセットが実行されなければならない場合があります。

クライアントが以前に Device Sync に接続していて、Device Sync を終了した場合は、コードがクライアント リセットを処理する必要があります。 アプリの Device Sync を終了すると、クライアントが再接続する必要がある Device Sync メタデータが削除されます。

これは、Device Sync がクラスター用に保持しているoplogよりも長時間一時停止されているアプリにも適用されます。 たとえば、クラスターの oplog を12時間のみ保持し、Device Sync を12時間以上一時停止する場合は、Device Sync を終了して再度有効にする必要があります。

クライアントでクライアント リセットを実行する方法の詳細については、 SDK ドキュメントを参照してください。

戻る

同期設定