通过 API 自动执行备份恢复
在此页面上
MongoDB Ops Manager v6.0 将于 2025 1 月 EOL。 尽快升级到更高的MongoDB Ops Manager版本。
要使用 API恢复快照:
查找要恢复的快照的 ID。
使用该快照 ID 创建恢复作业。
先决条件
您必须具有API访问权限。 要学习;了解如何获取访问权限,请参阅配置API访问权限。
要查找并下载快照,您的API密钥需要具有所需项目中快照的读取权限。授予 API 密钥在与该快照相关的项目上的 Project Read Only
角色。
自动恢复 API 资源的变量
API 资源使用其中的一个或多个变量。 在调用这些 API 资源之前,将这些变量替换为您所需的值。
名称 | 类型 | 说明 |
---|---|---|
PUBLIC-KEY | 字符串 | 您的 API 凭证的公共 API 密钥。 |
PRIVATE-KEY | 字符串 | |
<OpsManagerHost>:<Port> | 字符串 | Ops Manager 的URL 实例。 |
GROUP-ID | 字符串 | 包含恢复作业源集群的项目的唯一标识符。 您可以在该项目的“项目设置”中找到该值。 |
CLUSTER-ID | 字符串 | 恢复作业的源集群的唯一标识符。 |
TARGET-GROUP-ID | 字符串 | 包含恢复作业的目标集群的项目的唯一标识符。 |
TARGET-CLUSTER-ID | 字符串 | 恢复作业的目标集群的唯一标识符。 |
SNAPSHOT-ID | 字符串 | 要恢复的快照的唯一标识符。 |
步骤
1
检索快照 ID。
调用“获取所有快照”资源查找所需快照的 ID。
调用以下命令:
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/snapshots?pretty=true"
2
为快照创建恢复作业。
调用创建一个恢复作业资源以请求快照恢复。
调用以下命令:
1 curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ 2 --header "Accept: application/json" \ 3 --header "Content-Type: application/json" \ 4 --request POST "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true" \ 5 --data ' 6 { 7 "delivery" : { 8 "methodName" : "AUTOMATED_RESTORE", 9 "targetGroupId" : "{TARGET-PROJECT-ID}", 10 "targetClusterId" : "{TARGET-CLUSTER-ID}" 11 }, 12 "snapshotId": "{SNAPSHOT-ID}" 13 }'
注意
要通过其他示例了解有关恢复快照的更多信息,请参阅为一个集群创建一个恢复作业API资源页面。