Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ /
Atlas App Services
/ /

Amazon Web Services App Sync 移行ガイド

年 9 月2024 日現在、Device Services は 非推奨 です。App Services Appの移行に使用できるサードパーティ サービスは多数あります。このページでは、 Amazon Web Services AppSync を使用する際のガイダンスを提供します。

AWS AppSync は、 GraphQLと Pub/Sub API を通じてデバイス間でデータを同期し続けるために使用できるサーバーレス プラットフォームです。バックエンドデータストアとしてMongoDB Atlasと組み合わせると、 Device Syncの利点の多くが維持されます。

以下は、一般的なDevice Syncアーキテクチャの図です。

一般的なDevice Syncアーキテクチャを示す図。

このアーキテクチャでは、アプリはAtlas Device Sync API を使用して Atlas App Services と直接通信し、 Atlas App Services は データストレージ、同期、競合の解決を処理します。

データフローは次のとおりです。

  • データは各デバイスのローカル邦土 db に保存されます。

  • ユーザーがデバイスに変更を加えます。

  • Device Sync API は変更を Atlas App Services に送信します。

  • Atlas App Services は、必要な競合の解決を実行し、変更を Atlas に保存し、他のデバイスに変更を同期します。

  • Device Sync API は、各デバイスの ローカル邦土内のデータを更新します。

Device SyncからAmazon Web Services AppSync に移行する場合は、アーキテクチャを次の変更を行う必要があります。

  • Amazon Web Services AppSync を使用したデータ同期の処理

  • Amazon Web Services Lambdaリゾルバ を使用して、 MongoDBドライバー SDK 経由で Atlas にデータを送信します

  • Amazon Web Services Event Bridge を使用して、Atlas からのイベントトリガーをリッスン

  • Atlas へのデータベーストリガーの追加

また、クライアントコードで以下も変更する必要があります。

  • AppSync はGraphQL を使用するため、アプリケーションからGraphQLエンドポイントにアクセスするにはAmazon Web Services AppSync API を使用する必要があります。

  • ローカル データストアをRealmデータベースからデバイス上のデフォルトのデータストア(通常は SQLite)、または選択した別のデータストアに変更します。

次の図は、新しいアーキテクチャの一般的な例を示しています。

一般的なDevice Syncアーキテクチャを示す図。

次のセクションでは、既存のDevice SyncアーキテクチャをAmazon Web Services AppSync に移行するために実行する必要がある高レベルのタスクについて説明します。

  • 必要に応じて、データベースのセキュリティとネットワーク アクセスを更新します。

  • データベースまたはコレクション内のデータが変更されるたびにイベントを起動する データベーストリガーを作成します 。

  • 提携するソースとして Atlas を設定します。

  • Amazon Web Services AppSync をターゲットとして設定します。

  • イベント本文のフィールドから AppSync のGraphQLエンドポイントへのマッピングを作成

  • セキュリティを設定する

  • テンプレートに基づいてLambdaリゾルバを作成します。このプロセスの詳細については、 MongoDB- API GitHubMongoDB-DataAPI リポジトリ の Readme を参照してください。

  • IAM 経由でLambda認可を構成する

  • IAM 権限の構成

  • Lambda認可を使用して、 Lambdaリゾルバにリンクします。

  • データのGraphQLスキーマを作成します。

バックエンドアーキテクチャを移行したら、クライアントアプリにいくつかの変更を加える必要があります。

  • Realm SDK を コードに置き換えて、AppSync GraphQLエンドポイントを呼び出します。 既存のプラットフォームを適切なAmazon Web Services SDK とともに使用することも、 Amazon Web Servicesサービスへの接続のためのネイティブサポートを提供するAmazon Web Services Amplify を使用することもできます。

  • デバイスのデータストアから書込みおよび読み取りを行うためのドライバーを追加します。 デフォルトのデータストアはiOSと Android 環境の両方で SQLite ですが、ニーズに合ったデータベースを使用してください。

戻る

Device Sync の廃止

項目一覧