复原部署
Overview
您可以将应用的配置回滚到以前部署的版本。 App Services 可以自动重新部署应用的任何最近 25 次部署。 对于较旧的部署,您必须手动获取并部署配置文件(例如,从源代码管理中)。
重新部署会回滚应用程序的配置以匹配早期版本。
开始之前
要在 Atlas 用户界面中回滚应用,您需要满足以下条件:
具有项目所有者权限的MongoDB Atlas帐户。 要学习;了解如何注册免费帐户,请参阅 Atlas入门。
要使用 Admin API回滚应用,您需要满足以下条件:
具有项目所有者权限的 MongoDB Atlas 帐户。要了解如何注册免费帐户,请参阅开始使用 Atlas。
MongoDB Atlas Admin API 公钥/私钥对。API 密钥必须具有项目所有者权限才能使用 App Services Admin API。
您的应用的内部ObjectId 十六进制string 以及包含您的应用的ID 项目的项目Atlas 。要学习;了解如何查找这些元数据,请参阅获取应用元数据。
步骤
对 MongoDB Atlas 用户进行身份验证
使用您的 MongoDB Atlas API 密钥对调用管理员用户身份验证端点:
curl -X POST \ https://services.cloud.mongodb.com/api/admin/v3.0/auth/providers/mongodb-cloud/login \ -H 'Content-Type: application/json' \ -H 'Accept: application/json' \ -d '{ "username": "<Public API Key>", "apiKey": "<Private API Key>" }'
如果身份验证成功,响应正文将包含一个具有access_token
值的JSON对象:
{ "access_token": "<access_token>", "refresh_token": "<refresh_token>", "user_id": "<user_id>", "device_id": "<device_id>" }
access_token
授予对App Services Admin API的访问权限。 您必须将其作为持有者令牌包含在所有 Admin API请求的Authorization
标头中。
查找部署 ID
您需要要重新部署的部署的_id
。 要找到它,请调用列出部署端点,该端点会使用应用的25最近部署的列表进行响应。
在列表中找到要重新部署的部署,然后复制其_id
。
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deployments \ -H 'Authorization: Bearer <access_token>'
[ { "_id": "638662e881ad88c37dcb7656", "app_id": "63844243ec3f52ed48923213", "draft_id": "638662d6cc4b58e348927a7a", "user_id": "59231005d323af2275135258", "deployed_at": 1669751529, "origin": "UI", "commit": "", "status": "successful", "status_error_message": "", "diff_url": "", "name": "638662e881ad88c37dcb7656", "remote_location": "US-VA" }, { "_id": "638662b2fd660afffb39df01", "app_id": "63844243ec3f52ed48923213", "draft_id": "638662928d19776b743d3b30", "user_id": "593f1105d383ad2275165258", "deployed_at": 1669751475, "origin": "UI", "commit": "", "status": "successful", "status_error_message": "", "diff_url": "", "name": "638662b2fd660afffb39df01", "remote_location": "US-VA" } ]
重新部署应用
您可以通过调用重新部署部署端点来回滚到以前的部署。 将要重新部署的部署的_id
作为deploymentId
参数传递。
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deployments/{deploymentId}/redeploy \ -H 'Authorization: Bearer <access_token>'