如何通过curl调用API恢复最新MongoDB Atlas数据库按需快照
MongoDB Atlas 按需快照Curl恢复操作方法
步骤1:获取待恢复快照的ID
你之前触发快照创建的请求返回值中本身包含snapshotId字段,如果当时没有留存返回结果,先调用快照列表接口拉取集群下所有快照,找到描述为On Demand Snapshot、创建时间匹配的目标快照对应的ID:
curl --user "${{ secrets.PUBLIC_KEY }}:${{ secrets.PRIVATE_KEY }}" \ --digest \ --header "Accept: application/json" \ --request GET "https://cloud.mongodb.com/api/atlas/v1.0/groups/${{ secrets.PROJECT_ID }}/clusters/cluster-1/backup/snapshots?pretty=true"
从返回结果中提取目标快照的id字段值,替换后续命令中的<SNAPSHOT_ID>占位符。
步骤2:提交恢复任务
注意:恢复操作会覆盖目标集群的全部现有数据,操作前确认目标集群无需要留存的未备份数据。
恢复到原集群cluster-1
直接调用恢复作业提交接口,指定自动交付模式即可,Atlas会自动执行全量恢复,恢复期间集群进入维护状态:
curl --user "${{ secrets.PUBLIC_KEY }}:${{ secrets.PRIVATE_KEY }}" \ --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request POST "https://cloud.mongodb.com/api/atlas/v1.0/groups/${{ secrets.PROJECT_ID }}/clusters/cluster-1/restoreJobs?pretty=true" \ --data '{ "snapshotId": "<SNAPSHOT_ID>", "deliveryType": "automated" }'
恢复到同项目下其他集群
如果需要将快照恢复到同项目内的其他集群,将请求URL中的集群名替换为目标集群名,同时在请求体中增加targetClusterName字段指定目标集群即可,示例如下(目标集群名为cluster-2):
curl --user "${{ secrets.PUBLIC_KEY }}:${{ secrets.PRIVATE_KEY }}" \ --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request POST "https://cloud.mongodb.com/api/atlas/v1.0/groups/${{ secrets.PROJECT_ID }}/clusters/cluster-2/restoreJobs?pretty=true" \ --data '{ "snapshotId": "<SNAPSHOT_ID>", "deliveryType": "automated", "targetClusterName": "cluster-2" }'
步骤3:查询恢复进度
提交恢复任务后,返回结果中会包含本次恢复作业的id字段值,替换下面命令的<RESTORE_JOB_ID>占位符即可查询恢复状态,当返回结果的status字段为finished时,代表恢复完成,集群可正常使用:
curl --user "${{ secrets.PUBLIC_KEY }}:${{ secrets.PRIVATE_KEY }}" \ --digest \ --header "Accept: application/json" \ --request GET "https://cloud.mongodb.com/api/atlas/v1.0/groups/${{ secrets.PROJECT_ID }}/clusters/cluster-1/restoreJobs/<RESTORE_JOB_ID>?pretty=true"
注意事项
- 自动恢复模式仅支持M10及以上规格的付费集群,M0/M2/M5等免费共享规格集群不支持该接口调用
- 你创建的按需快照设置的保留期为3天,超过保留期的快照会被自动清理,无法用于恢复
- 恢复执行过程中不要修改目标集群配置、写入数据,避免恢复作业失败
内容的提问来源于stack exchange,提问作者gamechanger17
相关产品推荐
相关产品推荐

