You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 21:30:23