Docs 菜单
Docs 主页
/ /
Atlas App Services
/ /

配置并启用 Atlas Device Sync

在此页面上

  • Overview
  • 先决条件
  • 步骤

您可以通过 App Services 用户界面、App Services CLI 或 Atlas App Services Admin API 配置和启用 Atlas Device Sync。您可以用相同的方式更新现有配置。如果这是您第一次启用 Device Sync,用户界面是一个很好的选择,因为它会引导您完成所需的步骤。

您可能希望在已经启用 Device Sync 之后更改 Atlas Device Sync 配置。您可以使用与最开始启用 Device Sync 相同的过程来更新配置。如果使用灵活同步模式,则无需终止再重新启用同步即可更新配置。

如果要在暂停或终止后重新启用 Device Sync,请参阅恢复重新启用 Device Sync。

提示

设备同步在 30 天未活动后自动暂停。

如果尚未决定想要如何配置数据模型,请参阅同步数据模型概述

除非您使用的是开发模式 ,否则在启用 Sync 之前,您必须为同步集群中的collection指定至少一个有效的模式。该模式至少必须将 _id定义为主键。 您还应该包括打算用作可查询字段的字段。

有关如何定义模式的详细信息,请参阅定义和实施模式。

注意

Device Sync的数据源要求

要启用Device Sync,您的App Services App必须至少有一个满足以下要求的链接数据源:

  • 运行 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>"

您也可以从用户界面或使用 Admin 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-atlastypemongodb-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

要部署更改并开始同步数据,请发送 Admin API 请求,该请求使用以下模板配置通过flexible_sync对象更新集群配置:

更新同步配置
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>'
FlexibleSyncConfiguration
{
"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中所述。

后退

配置同步