数据API已达到其生命周期结束状态, MongoDB不再主动支持。此页面仅供历史参考。有关详细信息,请参阅 数据API和 HTTPS 端点弃用。
数据API是一项托管服务,可让您使用标准HTTPS 请求安全地处理存储在Atlas中的数据。 数据API并不直接连接到数据库。相反, API是一种完全托管的中间件服务,位于集群和发送请求的客户端之间。
您可以使用 Data API 从任何支持 HTTPS 的平台连接到 MongoDB Atlas,其中包括:
网络浏览器
Web 服务器
CI/CD 管道
移动应用程序
物联网设备
您无需安装任何数据库驱动程序或偏好明确的库即可使用 Data API。相反,您可以发送如下所示的标准 HTTPS 请求:
curl -s "https://data.mongodb-api.com/app/myapp-abcde/endpoint/data/v1/action/insertOne" \ -X POST \ -H "Content-Type: application/ejson" \ -H "Accept: application/json" \ -H "apiKey: TpqAKQgvhZE4r6AOzpVydJ9a3tB1BLMrgDzLlBLbihKNDzSJWTAHMVbsMoIOpnM6" \ -d '{ "dataSource": "mongodb-atlas", "database": "learn-data-api", "collection": "hello", "document": { "text": "Hello, world!" } }'
{ "insertedId": "63dc56ac74ddb86ed3eb8474" }
端点 [生命周期结束]
数据API支持两种类型的端点:
数据API端点是自动生成的端点,每个端点代表一个MongoDB操作。您可以使用端点在MongoDB数据源中创建、读取、更新、删除和聚合文档。
自定义端点是由您写入的Atlas Function 处理的特定于应用程序的API路由。您可以使用自定义端点来定义专门适合您的使用案例的操作。示例,您可以创建一个运行预定义聚合或与外部 Webhook 服务集成的端点。
数据API 的工作原理 [生命周期结束]
Data API 请求可能类似于传统的数据库操作,例如 find 或 insertOne,但 Data API 并不直接连接到您的数据库。相反,Data API 添加了额外的身份验证、授权和正确性检查,以确保仅以您允许的方式访问或修改数据。这使您可以从潜在易受攻击的客户端(例如 Web 应用)安全地访问 Atlas 中的数据。
对于每个传入请求,数据 API:
已对调用用户进行身份验证。这可能涉及验证访问权限令牌、使用凭证头凭据登录或根据您的配置直接分配特定的运行时用户。
已授权请求。这可确保用户发送格式正确的请求,并有权根据您的端点授权方案执行请求的操作。
运行请求的操作。这可能涉及使用生成的端点在Atlas中读取或写入数据,或调用您编写的自定义函数。
对于在 Atlas 中读取或写入数据的请求,Data API 还会强制执行应用中定义的访问控制规则和文档模式。这意味着用户只能访问他们有权读取和写入的数据。包含无效写入操作的请求将失败。
已向调用者返回 HTTPS 响应。响应包括生成的端点操作结果或从自定义端点返回的任何数据。在请求中,您可以选择以JSON或EJSON格式接收响应。
何时使用数据API [生命周期结束]
对于服务器应用程序,尤其是高负载和延迟敏感的使用案例,我们建议使用MongoDB驾驶员直接连接到Atlas 。通过数据API端点调用的操作比通过驾驶员调用的相应MongoDB操作需要更长的时间才能完成。此外,驱动程序对操作的执行方式提供了更大的灵活性和更好的控制。要学习;了解更多信息,请访问MongoDB驱动程序文档。
您无法再使用数据API。在数据API :
您想要从 Web 应用程序或您不信任的其他客户端运行 MongoDB 操作。
您不能或不想在服务器侧环境中管理 MongoDB 驱动程序。例如,某些边缘计算环境不支持数据库驱动程序或连接池化。
您想要开发一项新功能,并且更喜欢灵活的解决方案以便在客户端侧工作,然后再创建和完善 API 层。
您想将 Atlas 数据访问集成到联合 API 网关中。
您希望从 Atlas Device 软件开发工具包 (Atlas Device SDK) 当前不支持的环境中连接到 App Services,但不想使用驱动程序通过传输协议进行连接。
限制 [生命周期结束]
以下限制适用于数据 API 请求和响应:
请求将在运行 300 秒后超时。
Data API 响应有效负载的大小限制为 350 MB。