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

将数据从客户端单向流式传输到 Atlas

在此页面上

  • 设置 Atlas 访问权限
  • 创建 Atlas App Services 应用
  • 配置 Device Sync 和数据导入
  • 启用身份验证提供程序
  • 将同步添加到客户端应用程序
  • 将客户端连接到 App Services 后端
  • 验证用户身份
  • 打开同步 Realm
  • 创建非对称对象并写入数据

如果您的移动或客户端应用程序会产生大量数据,并希望将其流式传输到 MongoDB Atlas,则可以使用 Device Sync 单向同步数据。 我们将实现这种单向同步的功能称为“数据导入”。

您可能希望在物联网(IoT)应用程序中单向同步数据,例如将数据发送到云的天气传感器。数据导入对于写入不需要冲突解决的其他类型的不可变数据也很有用,例如从零售应用程序创建发票或记录应用程序事件。

数据导入经过优化,可为繁重的客户端仅插入工作负载提供性能改进。 您无法从正在流式传输数据的 Realm 中读取此数据。

目前,数据导入仅适用于以下 Realm SDK:

  • C++ SDK

  • .NET SDK

  • Kotlin SDK

  • Node.js SDK

  • React Native SDK

  • Swift SDK

请按照以下概要步骤开始操作:

1

App Services 应用程序是一个网关,使您的客户端设备能够连接 MongoDB Atlas。在创建应用程序时,您可以为其命名,将其链接到 Atlas 集群,并指定最适合应用程序的部署模型和部署区域。

要了解如何创建 App Services App,请参阅创建应用

2

Device Sync 是将数据同步到 Atlas 以及跨客户端设备的服务。 Device Sync 与 Realm SDK 一起自动托管网络连接、用户权限和冲突解决。App Services App提供内置用户身份验证,Device Sync 和 Realm SDKs 利用该身份验证来保护数据。

配置 Device Sync 时,您可以指定客户端设备可以访问的数据源,以及决定用户可以写入哪些数据的权限。

您可以通过 Atlas 用户界面、Atlas App Services 命令行界面或 App Services Admin API 配置 Device Sync。第一次配置 Device Sync 时,您可能会发现使用 Atlas 用户界面很有帮助,因为它提供了有关各种设置和选项的链接和信息。

要为一个或多个collection启用数据导入,请在 Device Sync 配置的 Advanced Configuration部分选择一个或多个collection。在此下拉列表中,只能选择具有App Services Schema的collection。

如果尚未为要单向同步的集合创建模式,您可以执行以下任一操作:

3

您的客户端设备必须进行身份验证才能访问同步的数据。 App Services 提供多种身份验证提供商(例如电子邮件/密码或匿名身份验证),以便用户能够进行身份验证。配置一个或多个身份验证提供者,以在客户端应用程序中启用身份验证。

您可以在App Services App用户界面中配置身份验证提供程序,方法是选择左侧导航菜单中的Authentication ,然后单击提供商进行配置。 您还可以通过使用Atlas App Services命令行界面 App Services Admin API编辑App Services配置来配置身份验证提供程序。

此后,您已完成 Atlas 端所需的所有设置,并且可以准备客户端应用程序以单向同步数据。

1

在客户端应用程序代码中,初始化应用客户端以将客户端连接到 App Services 后端。这可以让您的客户端使用身份验证等 App Services 功能,并允许打开同步 Realm。

2

客户端应用程序用户必须通过 App Services 后端进行身份验证才能写入同步数据。 向客户端应用程序添加逻辑以注册和登录用户。

3

拥有经过身份验证的用户后,您可以打开 Realm 数据库的同步实例以供该用户使用。 由于非对称同步是只写的,因此您无法定义 Flexible Sync 查询来读取设备上的数据。 这与双向Flexible Sync不同,在双向Flexible Sync中,您需要创建查询订阅来确定要同步到设备的数据。

4

Realm SDK 提供了一种特殊类型的对象用于数据导入:非对称对象。 有关如何定义非对称对象的详细信息,请参阅 Realm 软件开发工具包(Realm SDK)文档。

创建非对称对象并将其写入同步 Realm,Realm SDK 使用 Device Sync 自动管理流式传输数据的过程。 当设备具有网络连接时,SDK 会将数据流式传输到 App Services 后端和 Atlas。 当设备没有网络连接时,数据会持久保存在设备上,并在网络连接恢复时自动上传。

Atlas Device Sync 全面管理这些数据的生命周期。它会保留在设备上,直到数据摄入同步完成,然后从设备中删除。

后退

将客户端数据与 Atlas 同步