为一个集群创建一个恢复作业
- 用于以编程访问权限Cloud Manager的 OAuth 2.0身份验证作为预览功能。
- 在预览期间,功能和相应的文档可能随时更改。要使用 OAuth 2.0身份验证,请创建一个服务帐户,以便在向Cloud Manager Public API发出的请求中使用。
基本 URL: https://cloud.mongodb.com/api/public/v 1.0
Resource
POST /groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs
请求路径参数
名称 | 类型 | 说明 |
---|---|---|
PROJECT-ID | 字符串 | 拥有作业的项目的唯一标识符。 |
CLUSTER-ID | 字符串 | 作业所代表的集群的唯一标识符。 |
请求查询参数
以下查询参数为可选参数:
名称 | 类型 | 必要性 | 说明 | 默认 | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | 布尔 | Optional | 指示响应正文是否应采用 美观打印 的标志 格式。 | false | ||||||
envelope | 布尔 | Optional | 指示是否将响应包装在信封中的标志。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true。 对于返回一个结果的端点,响应体包括:
| false |
请求正文参数
名称 | 类型 | 必要性 | 说明 |
---|---|---|---|
delivery | 对象 | 必需 | 恢复的快照数据的传输方法和详细信息。 |
delivery .expires | 字符串 | 可选的 | ISO8601 格式的时间戳 UTC 格式的日期和时间,在此之后 URL 将不再可用。 如果设置 |
delivery .expirationHours | 数字 | 可选的 | 恢复作业完成后,下载URL有效的小时数。 如果设置 |
delivery .maxDownloads | 数字 | 必需 | 下载URL的可使用次数。 该值必须为 1 或更大。 |
delivery .methodName | 字符串 | 必需 | Cloud Manager 传送数据的方式。设置为 HTTP 。 |
snapshotId | 字符串 | 必需 | 要恢复的快照的唯一标识符。 |
注意
条件
如果设立"delivery.methodName" :
AUTOMATED_RESTORE"
,则必须设立delivery.targetGroupId
和delivery.targetClusterId
。
从快照创建自动恢复。
名称 | 类型 | 必要性 | 说明 |
---|---|---|---|
delivery | 对象 | 必需 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 必需 | Cloud Manager 传送数据的方式。设置为 响应显示 重要提示:自 3 月27 2018起,通过SCP的恢复交付已被删除。 |
delivery .targetClusterId | 字符串 | 必需 | |
delivery .targetGroupId | 字符串 | 必需 | 包含恢复作业的目标集群的项目的唯一标识符。 |
snapshotId | 字符串 | 必需 | 要恢复的快照的唯一标识符。 |
从oplog时间戳创建自动恢复。
Oplog 恢复可与使用任何MongoDB版本的副本集或使用FCV
4.2或更高版本的分片集群配合使用。
名称 | 类型 | 必要性 | 说明 |
---|---|---|---|
delivery | 对象 | 必需 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 必需 | Cloud Manager 传送数据的方式。设置为 响应显示 重要提示:自 3 月27 2018起,通过SCP的恢复交付已被删除。 |
delivery .targetClusterId | 字符串 | 必需 | |
delivery .targetGroupId | 字符串 | 必需 | 包含恢复作业的目标集群的项目的唯一标识符。 |
oplogTs | 字符串 | 必需 | |
oplogInc | 字符串 | 必需 | 32 位递增序数,表示给定秒内的操作。 与 如果您提供此设置,则此端点会将截至且包括此 Oplog 时间戳在内的所有数据恢复到您在 |
创建从特定时间点开始的自动恢复。
PIT 恢复可与使用任何MongoDB版本的副本集或使用FCV
4.2或更高版本的分片集群配合使用。
名称 | 类型 | 必要性 | 说明 |
---|---|---|---|
delivery | 对象 | 必需 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 必需 | Cloud Manager 传送数据的方式。设置为 响应显示 重要提示:自 3 月27 2018起,通过SCP的恢复交付已被删除。 |
delivery .targetClusterId | 字符串 | 必需 | |
delivery .targetGroupId | 字符串 | 必需 | 包含恢复作业的目标集群的项目的唯一标识符。 |
pointInTimeUTCMillis | long | 必需 |
从检查点创建自动恢复。检查点恢复适用于运行 或更早版本的MongoDB 分片的FCV
4.0 的分片集群。
重要
请勿对具有FCV 4.2或更高版本的MongoDB集群使用检查点恢复。
名称 | 类型 | 必要性 | 说明 |
---|---|---|---|
checkpointId | 字符串 | 必需 | |
delivery | 对象 | 必需 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 必需 | Cloud Manager 传送数据的方式。设置为 响应显示 |
delivery .targetClusterId | 字符串 | 必需 | |
delivery .targetGroupId | 字符串 | 必需 | 包含恢复作业的目标集群的项目的唯一标识符。 |
响应
响应文档
响应JSON文档包括一个 result对象数组、一个link对象数组以及检索到的result对象总数。
名称 | 类型 | 说明 |
---|---|---|
results | 阵列 | 数组为 results 嵌入式文档部分中详细介绍的每一项包含一个对象。 |
links | 阵列 | 数组包含一个或多个指向子资源和/或相关资源的链接。 URL 之间的关系在 Web 链接规范中进行了解释。 |
totalCount | 数字 | 结果集中项目总数的整数计数。 如果对整个结果集进行分页,则它可能大于results数组中的对象数。 |
results
嵌入式文档
每个结果都是一个集群恢复作业。 此数组仅包含一个恢复作业。
名称 | 类型 | 说明 |
---|---|---|
batchId | 字符串 | 此恢复作业所属批处理的唯一标识符。 如果快照来自分片集群,则返回。 |
clusterId | 字符串 | |
created | 字符串 | ISO8601 格式的时间戳 请求恢复作业时的日期和时间格式( UTC 格式)。 |
delivery | 对象 | 恢复的快照数据的传输方法和详细信息。 |
delivery .expirationHours | 数字 | 恢复作业完成后,下载URL有效的小时数。 |
delivery .expires | 字符串 | |
delivery .maxDownloads | 数字 | 下载URL的可使用次数。 该值必须为 1 或更大。 |
delivery .methodName | 字符串 | 数据传输方式。 返回 HTTP 。 |
delivery .statusName | 字符串 | 可下载文件的当前状态。 接受的值为:
|
delivery .url | 字符串 | 可以下载恢复的 快照 数据的 URL 。 |
encryptionEnabled | 布尔 | 指示快照是否已加密的标志。 |
groupId | 字符串 | 拥有恢复作业的群组的唯一标识符。 |
hashes | 对象数组 | 如果已下载相应的 delivery.url ,则此数组将返回表示.tar.gz 文件的哈希值的单个对象。 |
hashes .fileName | 字符串 | 已哈希的快照文件的名称。 |
hashes .hash | 字符串 | 快照文件的哈希值。 |
hashes .typeName | 字符串 | 用于计算哈希值的哈希算法。 如果返回,则值设置为 SHA1 。 |
hostId | 字符串 | |
id | 字符串 | 恢复作业的唯一标识符。 |
links | 对象数组 | 指向子资源和/或相关资源的一个或多个链接。 响应中的所有 |
masterKeyUUID | 字符串 | |
pointInTime | 布尔 | 指示快照是否来自某个时间点的标志。 |
snapshotId | 字符串 | 要恢复的快照的唯一标识符。 |
statusName | 字符串 | 作业的当前状态。 接受的值为:
|
timestamp | 对象 | 创建快照时 Oplog 条目的时间戳。 |
timestamp .date | 字符串 | ISO8601 格式的时间戳 恢复的快照中最新 oplog 条目的日期和时间格式( UTC 格式)。 |
timestamp .increment | 字符串 | 在恢复的快照中最新 oplog 条目完成的所有操作的顺序。 |
名称 | 类型 | 说明 |
---|---|---|
batchId | 字符串 | 此恢复作业所属批处理的唯一标识符。 如果快照来自分片集群,则返回。 |
clusterId | 字符串 | |
created | 字符串 | ISO8601 格式的时间戳 请求恢复作业时的日期和时间格式( UTC 格式)。 |
delivery | 对象 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 数据传输方式。 返回 HTTP 。 |
delivery .targetClusterId | 字符串 | 执行恢复作业的目标集群的唯一标识符。 |
delivery .targetGroupId | 字符串 | 包含恢复作业的目标集群的项目的唯一标识符。 |
encryptionEnabled | 布尔 | 指示快照是否已加密的标志。 |
groupId | 字符串 | 拥有恢复作业的群组的唯一标识符。 |
hostId | 字符串 | |
id | 字符串 | 恢复作业的唯一标识符。 |
links | 对象数组 | 指向子资源和/或相关资源的一个或多个链接。 响应中的所有 |
masterKeyUUID | 字符串 | |
pointInTime | 布尔 | 指示快照是否来自某个时间点的标志。 |
snapshotId | 字符串 | 要恢复的快照的唯一标识符。 |
statusName | 字符串 | 作业的当前状态。 接受的值为:
|
timestamp | 对象 | 创建快照时 Oplog 条目的时间戳。 |
timestamp .date | 字符串 | ISO8601 格式的时间戳 恢复的快照中最新 oplog 条目的日期和时间格式( UTC 格式)。 |
timestamp .increment | 字符串 | 在恢复的快照中最新 oplog 条目完成的所有操作的顺序。 |
名称 | 类型 | 说明 |
---|---|---|
batchId | 字符串 | 此恢复作业所属批处理的唯一标识符。 如果快照来自分片集群,则返回。 |
clusterId | 字符串 | |
created | 字符串 | ISO8601 格式的时间戳 请求恢复作业时的日期和时间格式( UTC 格式)。 |
delivery | 对象 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 数据传输方式。 返回 HTTP 。 |
delivery .targetClusterId | 字符串 | 执行恢复作业的目标集群的唯一标识符。 |
delivery .targetGroupId | 字符串 | 包含恢复作业的目标集群的项目的唯一标识符。 |
encryptionEnabled | 布尔 | 指示快照是否已加密的标志。 |
groupId | 字符串 | 拥有恢复作业的群组的唯一标识符。 |
hostId | 字符串 | |
id | 字符串 | 恢复作业的唯一标识符。 |
links | 对象数组 | 指向子资源和/或相关资源的一个或多个链接。 响应中的所有 |
masterKeyUUID | 字符串 | |
pointInTime | 布尔 | 指示快照是否来自某个时间点的标志。 |
snapshotId | 字符串 | 要恢复的快照的唯一标识符。 |
statusName | 字符串 | 作业的当前状态。 接受的值为:
|
timestamp | 对象 | 创建快照时 Oplog 条目的时间戳。 |
timestamp .date | 字符串 | ISO8601 格式的时间戳 恢复的快照中最新 oplog 条目的日期和时间格式( UTC 格式)。 |
timestamp .increment | 字符串 | 在恢复的快照中最新 oplog 条目完成的所有操作的顺序。 |
名称 | 类型 | 说明 |
---|---|---|
batchId | 字符串 | 此恢复作业所属批处理的唯一标识符。 如果快照来自分片集群,则返回。 |
clusterId | 字符串 | |
created | 字符串 | ISO8601 格式的时间戳 请求恢复作业时的日期和时间格式( UTC 格式)。 |
delivery | 对象 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 数据传输方式。 返回 HTTP 。 |
delivery .targetClusterId | 字符串 | 执行恢复作业的目标集群的唯一标识符。 |
delivery .targetGroupId | 字符串 | 包含恢复作业的目标集群的项目的唯一标识符。 |
encryptionEnabled | 布尔 | 指示快照是否已加密的标志。 |
groupId | 字符串 | 拥有恢复作业的群组的唯一标识符。 |
hostId | 字符串 | |
id | 字符串 | 恢复作业的唯一标识符。 |
links | 对象数组 | 指向子资源和/或相关资源的一个或多个链接。 响应中的所有 |
masterKeyUUID | 字符串 | |
pointInTime | 布尔 | 指示快照是否来自某个时间点的标志。 |
snapshotId | 字符串 | 要恢复的快照的唯一标识符。 |
statusName | 字符串 | 作业的当前状态。 接受的值为:
|
timestamp | 对象 | 创建快照时 Oplog 条目的时间戳。 |
timestamp .date | 字符串 | ISO8601 格式的时间戳 恢复的快照中最新 oplog 条目的日期和时间格式( UTC 格式)。 |
timestamp .increment | 字符串 | 在恢复的快照中最新 oplog 条目完成的所有操作的顺序。 |
名称 | 类型 | 说明 |
---|---|---|
batchId | 字符串 | 此恢复作业所属批处理的唯一标识符。 如果快照来自分片集群,则返回。 |
checkpointId | 字符串 | 分片集群检查点的唯一标识符,表示数据将恢复到的时间点。 |
clusterId | 字符串 | |
created | 字符串 | ISO8601 格式的时间戳 请求恢复作业时的日期和时间格式( UTC 格式)。 |
delivery | 对象 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 数据传输方式。 返回 HTTP 。 |
delivery .targetClusterId | 字符串 | 执行恢复作业的目标集群的唯一标识符。 |
delivery .targetGroupId | 字符串 | 包含恢复作业的目标集群的项目的唯一标识符。 |
encryptionEnabled | 布尔 | 指示快照是否已加密的标志。 |
groupId | 字符串 | 拥有恢复作业的群组的唯一标识符。 |
hostId | 字符串 | |
id | 字符串 | 恢复作业的唯一标识符。 |
links | 对象数组 | 指向子资源和/或相关资源的一个或多个链接。 响应中的所有 |
masterKeyUUID | 字符串 | |
pointInTime | 布尔 | 指示快照是否来自某个时间点的标志。 |
statusName | 字符串 | 作业的当前状态。 接受的值为:
|
timestamp | 对象 | 创建快照时 Oplog 条目的时间戳。 |
timestamp .date | 字符串 | ISO8601 格式的时间戳 恢复的快照中最新 oplog 条目的日期和时间格式( UTC 格式)。 |
timestamp .increment | 字符串 | 在恢复的快照中最新 oplog 条目完成的所有操作的顺序。 |
请求示例
创建使用HTTP传输压缩快照的恢复作业。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true" \ --data ' { "delivery" : { "expirationHours" : "1", "maxDownloads" : "1", "methodName" : "HTTP" }, "snapshotId" : "{SNAPSHOT-ID}" }'
从快照创建自动恢复。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true" \ --data ' { "delivery" : { "methodName" : "AUTOMATED_RESTORE", "targetGroupId" : "{TARGET-PROJECT-ID}", "targetClusterId" : "{TARGET-CLUSTER-ID}" }, "snapshotId": "{SNAPSHOT-ID}" }'
从oplog时间戳创建自动恢复。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true" \ --data ' { "delivery" : { "methodName" : "AUTOMATED_RESTORE", "targetGroupId" : "{TARGET-PROJECT-ID}", "targetClusterId" : "{TARGET-CLUSTER-ID}" }, "oplogTs" : "1536610288", "oplogInc" : "1" }'
创建从特定时间点开始的自动恢复。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request POST "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true" \ --data ' { "delivery" : { "methodName" : "AUTOMATED_RESTORE", "targetGroupId" : "{TARGET-PROJECT-ID}", "targetClusterId" : "{TARGET-CLUSTER-ID}" }, "pointInTimeUTCMillis" : "1536610288000" }'
从检查点创建自动恢复。仅对运行采用 FCV 或更早版本的MongoDB 分片的4.0 的分片集群有效。
重要
请勿对具有FCV 4.2或更高版本的MongoDB集群使用检查点恢复。
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Accept: application/json" \ --header "Content-Type: application/json" \ --include \ --request POST "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true" \ --data ' { "delivery" : { "methodName" : "AUTOMATED_RESTORE", "targetGroupId" : "{TARGET-PROJECT-ID}", "targetClusterId" : "{TARGET-CLUSTER-ID}" }, "checkpointId" : "{CHECKPOINT-ID}" }'
示例响应
响应标头
401 Unauthorized Content-Type: application/json;charset=ISO-8859-1 Date: {dateInUnixFormat} WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false Content-Length: {requestLengthInBytes} Connection: keep-alive
200 OK Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
响应体
{ "links" : [ { "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true&pageNum=1&itemsPerPage=100", "rel" : "self" } ], "results" : [ { "batchId": "{BATCH-ID}", "clusterId": "{CLUSTER-ID}", "created": "2018-09-20T15:00:00Z", "delivery": { "expirationHours": 1, "maxDownloads": 1, "methodName": "HTTP", "statusName": "READY" }, "encryptionEnabled": false, "groupId": "{PROJECT-ID}", "id": "{RESTORE-JOB-ID}", "links": [{ "href": "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-NAME}/restoreJobs/{RESTORE-JOB-ID}", "rel": "self" }], "pointInTime": false, "snapshotId": "{SNAPSHOT-ID}", "statusName": "FINISHED", "timestamp": { "date": "2018-09-15T15:53:00Z", "increment": 1 } }], "totalCount" : 1 }
{ "links" : [ { "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true&pageNum=1&itemsPerPage=100", "rel" : "self" } ], "results" : [ { "batchId" : "{BATCH-ID}", "clusterId" : "{CLUSTER-ID}", "created" : "2020-04-21T03:49:57Z", "delivery" : { "expirationHours" : 1, "expires" : "2020-04-21T04:49:57Z", "maxDownloads" : 1, "methodName" : "HTTP", "statusName" : "READY", "url" : "https://api-backup.mongodb.com/backup/restore/v2/pull/{JOB-ID}/OTY0ZmFiNmEzZjEzNGUyMTlhZjJjNjM3NGMyNGM4ZTM=/electron_0-1492636465-{JOB-ID}.tar.gz" }, "encryptionEnabled" : false, "groupId" : "{PROJECT-ID}", "id" : "{JOB-ID}", "links" : [ { "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs/{JOB-ID}", "rel" : "self" } ], "snapshotId" : "{SNAPSHOT-ID}", "statusName" : "FINISHED", "timestamp" : { "date" : "2020-04-18T15:14:25Z", "increment" : 1 } } ], "totalCount" : 1 }
{ "links" : [ { "href" : "https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true&pageNum=1&itemsPerPage=100", "rel" : "self" } ], "results" : [ { "batchId": "{BATCH-ID}", "clusterId": "{CLUSTER-ID}", "created": "2018-09-20T15:01:00Z", "delivery": { "methodName": "HTTP", "statusName": "READY" }, "encryptionEnabled": false, "groupId": "{PROJECT-ID}", "id": "{RESTORE-JOB-ID}", "links": [{ "href": "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-NAME}/restoreJobs/{RESTORE-JOB-ID}", "rel": "self" }], "pointInTime": false, "snapshotId": "{SNAPSHOT-ID}", "statusName": "FINISHED", "timestamp": { "date": "2018-09-15T15:53:00Z", "increment": 1 } } ], "totalCount" : 1 }
{ "links" : [ { "href" : "https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true&pageNum=1&itemsPerPage=100", "rel" : "self" } ], "results" : [ { "batchId": "{BATCH-ID}", "clusterId": "{CLUSTER-ID}", "created": "2018-09-20T15:02:00Z", "delivery": { "methodName": "HTTP", "statusName": "READY" }, "encryptionEnabled": false, "groupId": "{PROJECT-ID}", "id": "{RESTORE-JOB-ID}", "links": [{ "href": "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-NAME}/restoreJobs/{RESTORE-JOB-ID}", "rel": "self" }], "snapshotId": "{SNAPSHOT-ID}", "statusName": "FINISHED", "timestamp": { "date": "2018-09-15T15:53:00Z", "increment": 1 } } ], "totalCount" : 1 }
{ "links" : [ { "href" : "https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs?pretty=true&pageNum=1&itemsPerPage=100", "rel" : "self" } ], "results" : [ { "batchId": "{BATCH-ID}", "clusterId": "{CLUSTER-ID}", "created": "2018-09-20T15:03:00Z", "delivery": { "methodName": "HTTP", "statusName": "READY" }, "encryptionEnabled": false, "groupId": "{PROJECT-ID}", "id": "{RESTORE-JOB-ID}", "links": [{ "href": "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/clusters/{CLUSTER-NAME}/restoreJobs/{RESTORE-JOB-ID}", "rel": "self" }], "snapshotId": "{SNAPSHOT-ID}", "statusName": "FINISHED", "timestamp": { "date": "2018-09-15T15:53:00Z", "increment": 1 } } ], "totalCount" : 1 }