面向后端和 Web 开发者的 Atlas App Services 简介
在此页面上
作为后端开发者,您可以使用Atlas App Services快速开发基于云的应用程序。 App Services应用程序可以对React 数据中的更改做出MongoDB Atlas ,将该数据连接到其他系统,并扩展以满足需求。App Services无需管理数据库和服务器基础架构即可完成此操作。
作为 Web 开发者,从服务器向浏览器发送数据时,需要处理大量开销。这包括身份认证和数据验证等。而且,应用必须可扩展且安全可靠。有许多库和框架可以提供这些服务。要为您的项目选择最佳方案,必须深入了解各种权衡因素。
作为移动应用开发者,跨设备同步数据带来了挑战。您可能会自己编写大量自定义冲突解决代码,或者使用特定于平台的后端,例如 CloudKit,它不是为开发跨平台应用而设计的。Atlas Device Sync 提供离线优先的跨平台解决方案,用于后端和移动设备之间的数据同步。当将其与 App Services 的身份验证和数据验证相结合时,您可以解决许多常见的移动应用开发问题。
App Services 是一种无服务器应用程序后端,可以轻松解决这些常见挑战。App Services 提供可配置的功能、集成的数据访问和安全规则。借助 App Services,您可以专注于构建独特的功能,而不是样板后端代码。
有关详细信息,请观看 App Services Learning Byte 概述。
App Services 能解决什么问题?
建立、管理和维护后端基础架构需要时间、资源和专业知识。但是,其中许多功能对于各种应用程序是相似的。App Services 为您管理后端基础架构和用户。这样,您就可以专注于让您的应用与众不同的功能,而不是样板代码。
App Services 是:
- 无服务器:
部署服务器端应用程序,无需设置和管理服务器基础架构。App Services 包括预配、部署、操作系统、Web 服务器、日志记录、备份和冗余。
运行基于云的 Atlas Function,以便处理数据或与 Node.js 模块交互。
无需在 App Services 实例之上编写身份验证 API。经过身份验证的客户端可以根据其权限与数据库的部分内容进行交互。
- 动态和响应:
对 MongoDB Atlas 中的数据更改做出反应,处理来自 HTTPS 端点的数据,或使用 Atlas Triggers 按计划运行 Atlas Function。
免费快速启动并运行,然后根据应用程序的需求进行扩展。
通过基于使用量的定价,仅支付和接收您在任何给定时间所需的确切计算量。 每天低于一定量的使用量始终免费。
- 简单安全:
- 已同步:
使用 Atlas Device Sync 跨设备无缝同步数据。
避免使用 Atlas Device SDK 编写复杂的同步逻辑。
用户身份验证和管理
安全的用户身份验证对于大多数应用至关重要。有些应用使用传统的电子邮件/密码组合对用户进行身份验证。有些应用使用 API 密钥或第三方身份验证提供程序,例如 Facebook 和 Google。这些方法通常需要大量复杂的样板代码。
App Services 提供内置的用户管理和身份验证方法。这些功能隐藏了复杂性,并且简化了与第三方身份验证提供程序的集成。您可以在服务器端配置中启用身份验证提供程序,然后使用 Realm SDK 立即从任何客户端应用程序登录。
要了解有关 App Services 中身份验证的更多信息,请参阅验证& 管理用户。
模式验证和数据访问规则
现代应用要求数据使用一致的类型和格式。数据一致性保证了应用的所有组件可以协同工作。确保任何给定数据只能由授权用户访问也很重要。例如,您可以授予用户仅访问其自己数据的权限。
Atlas App Services使用您在 中定义的模式验证数据JSON schema 标准。模式是应用程序中定义数据类型的来源。 Atlas App Services还使用该模式在应用程序和MongoDB Atlas集合之间映射数据。
您还可以配置 App Services 使用基于角色的数据访问规则来保护数据。这些规则决定每个用户的每个请求对每个文档的访问权限。只有当用户和文档都满足预定义的条件时,用户才能插入、读取或修改数据。
要了解有关为数据定义模式和访问规则的更多信息,请参阅集合规则。
事件驱动的无服务器函数
许多应用要求某些业务逻辑在服务器上运行。通常,这种逻辑处理敏感的用户数据或与外部服务交互。当应用或外部服务中发生某些情况时,应用可能还需要实时作出响应。
App Services 允许您定义无服务器 JavaScript 函数 — 称为 Atlas Function。您可以将 Atlas Function 用于以下常见后端使用案例:
使用 Atlas Device SDK for Web 从客户端应用程序进行调用。
执行 Atlas Function 以响应触发事件,例如 MongoDB 中的文档更新或在计划时间更新。
执行一个函数以响应外部应用程序的 HTTPS 端点。
要了解有关定义和使用 serverless 函数的更多信息,请参阅 Atlas Function 和 Atlas Triggers。
安全客户端查询
开发者需要高效、安全的数据访问。如果数据位于服务器上,则需要 API 来访问数据并防止未经授权的访问。
SDK 提供安全的 MongoDB 客户端与 MongoDB 数据源中的数据进行交互。
App Services 的服务器端规则确保用户只能读取和修改允许的文档。规则由针对每个集合的一个或多个用户角色组成。角色决定给定用户是否有权访问和编辑文档。App Services 为每个请求中的每个文档确定一个角色。然后,它会在响应之前实施该角色的权限。
客户端 MongoDB 查询
传统上,开发者查询服务器上的数据库,并通过 HTTP API 从客户端访问服务器。这需要更多的开发者资源,而且缺乏直接查询数据库的灵活性。
Atlas App Services 和 Atlas Device SDK 包括 MongoDB 数据访问,这是一个 API,可让您使用查询 API 从客户端访问 MongoDB Atlas。您可以像使用数据库驱动程序一样查询 Atlas,App Services 会对所有请求实施数据访问规则 。
以下 SDK 允许您从客户端应用程序通过 MongoDB Data Access 查询 Atlas:
跨设备同步数据
对于移动应用开发者来说,同步数据是一个难题。 Device Sync为您的移动应用程序提供离线优先同步功能。 客户端应用程序使用离线优先持久层将数据持久保存到设备。 当设备有网络连接时,Sync 会将数据无缝发送到应用程序。 该应用程序将数据存储到链接的MongoDB Atlas数据源,并在其他客户端设备上更新数据。
Device Sync 提供冲突解决方案,可处理多个用户更新相同数据的问题。Device Sync 与用户身份验证和管理、模式验证和数据访问相结合,可以为您的移动客户端提供一种跨设备云同步数据的安全方式。
App Services 快速入门
预构建的应用程序
要探索一个支持自定义的预构建应用,请创建模板应用。模板应用是使用 App Services 服务来执行诸如以下操作的有效应用程序:
使用 Sync 在移动客户端和关联的 MongoDB Atlas 集合之间同步数据。
使用 Atlas Device SDK for Web 托管 Todo Web 应用
管理事件驱动的数据库触发器,以更新另一个集合中的视图
模板应用是可以运行和更改以试验 App Services 的有效应用程序。对于喜欢通过实验来学习的开发者而言,这些应用是不错的选择,而教程则提供了更深入、逐步的应用构建过程。
Tutorials
查看我们的教程,进一步了解如何构建 App Services 应用程序。教程从我们的模板应用开始,然后引导您构建由 App Services 提供支持的其他功能,包括 Device Sync 和基于角色的权限。