Amazon Web Services App Sync 迁移指南
在此页面上
从 9 月2024 起,设备服务已被弃用。您可以使用许多第三方服务来迁移App Services App。本页提供使用Amazon Web Services AppSync 的指导。
什么是Amazon Web Services AppSync?
AWS AppSync 是一个无服务器平台,可用于通过GraphQL和 Pub/Sub API 在设备之间保持数据同步。与作为后端数据存储的MongoDB Atlas结合使用,您可以保留Device Sync的许多优点。
系统架构
设备同步
下图显示了典型的Device Sync架构:

在此架构中,您的应用使用Atlas Device Sync API 直接与Atlas App Services通信,后者负责处理数据存储、同步和冲突解决。
数据流为:
数据存储在每个设备的本地域数据库中。
用户在设备上进行更改。
Device Sync API 将更改发送到Atlas App Services。
Atlas App Services执行任何必要的冲突解决,将更改存储在Atlas中,并将更改同步到其他设备。
Device Sync API更新每台设备的本地域中的数据。
Amazon Web Services AppServices
当您从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,因此您需要使用Amazon Web Services AppSync API 从应用应用程序访问权限GraphQL端点。
将本地数据存储从Realm数据库更改为设备上的默认数据存储(通常是 SQLite),或您选择的其他数据存储。
下图是新架构的典型示例:

迁移步骤
以下部分概述了将现有Device Sync架构迁移到Amazon Web Services AppSync 所需执行的高级任务。
MongoDB Atlas
如果需要,更新数据库安全和网络访问权限。
创建一个数据库触发,只要数据库或集合中的数据发生更改,该触发器就会触发事件。
AWS
EventBridge
将Atlas配置为合作源。
将Amazon Web Services AppSync 配置为目标。
创建事件正文字段到 AppSync 的GraphQL端点的映射
配置安全性
Amazon Web Services Lambda解析程序
根据
MongoDB-DataAPI
模板创建Lambda解析程序。有关此进程的详细信息,请参阅MongoDB- API GitHub 存储库中的自述文件。通过 IAM 配置Lambda授权
AWS AppSync
配置 IAM 权限
使用Lambda授权链接到Lambda解析程序。
为您的数据创建GraphQL模式。
应用程序代码
迁移后端架构后,您需要对客户端应用进行一些更改:
将Realm SDK 替换为调用 AppSync GraphQL端点的代码。 您可以将现有平台与相应的Amazon Web Services SDK 结合使用,也可以使用Amazon Web Services Amplify,后者为连接到Amazon Web Services服务提供原生支持。
添加驱动程序以写入和读取设备的数据存储。 在iOS和 Android 环境中,默认数据存储均为 SQLite,但请使用能满足您需求的数据库。