为一个集群创建一个恢复作业
基本 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
POST /groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs
请求路径参数
名称 | 类型 | 说明 |
---|---|---|
PROJECT-ID | 字符串 | 拥有作业的项目的唯一标识符。 |
CLUSTER-ID | 字符串 | 作业所代表的集群的唯一标识符。 |
请求查询参数
以下查询参数为可选参数:
名称 | 类型 | 必要性 | 说明 | 默认 | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | 布尔 | Optional | 指示响应正文是否应采用 Prettyprint 的标志 格式。 | false | ||||||
envelope | 布尔 | Optional | 指示是否将响应包装在信封中的标志。 某些 API 客户端无法访问 HTTP 响应标头或状态代码。要解决这个问题,可在查询中设置 envelope=true。 对于返回一个结果的端点,响应体包括:
| false |
请求正文参数
名称 | 类型 | 必要性 | 说明 |
---|---|---|---|
delivery | 对象 | 必需 | 恢复的快照数据的传输方法和详细信息。 |
delivery .expires | 字符串 | 可选的 | ISO8601 格式的时间戳 UTC 格式的日期和时间,在此之后 URL 将不再可用。 如果设置 |
delivery .expirationHours | 数字 | 可选的 | 恢复作业完成后,下载URL有效的小时数。 如果设置 |
delivery .maxDownloads | 数字 | 必需 | 下载URL的可使用次数。 该值必须为 1 或更大。 |
delivery .methodName | 字符串 | 必需 | Ops Manager 传输数据的方式。设置为 HTTP 。 |
snapshotId | 字符串 | 必需 | 要恢复的快照的唯一标识符。 |
注意
条件
如果设立"delivery.methodName" :
AUTOMATED_RESTORE"
,则必须设立delivery.targetGroupId
和delivery.targetClusterId
。
从快照创建自动恢复。
名称 | 类型 | 必要性 | 说明 |
---|---|---|---|
delivery | 对象 | 必需 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 必需 | Ops Manager 传输数据的方式。设置为 响应显示 重要提示:使用SCP的恢复交付已在MongoDB Ops Manager 4.0 中删除。 |
delivery .targetClusterId | 字符串 | 必需 | 目标集群的唯一标识符。 使用获取所有Atlas 备份快照和获取快照端点的响应正文中返回的 如果目标集群上未启用备份,则“获取所有快照”端点将返回一个没有 |
delivery .targetGroupId | 字符串 | 必需 | 包含恢复作业的目标集群的项目的唯一标识符。 |
snapshotId | 字符串 | 必需 | 要恢复的快照的唯一标识符。 |
从oplog时间戳创建自动恢复。
oplog恢复可与使用任何MongoDB版本的副本集或使用 4.2 或更高版本的FCV的分片集群一起使用。
名称 | 类型 | 必要性 | 说明 |
---|---|---|---|
delivery | 对象 | 必需 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 必需 | Ops Manager 传输数据的方式。设置为 响应显示 重要提示:使用SCP的恢复交付已在MongoDB Ops Manager 4.0 中删除。 |
delivery .targetClusterId | 字符串 | 必需 | |
delivery .targetGroupId | 字符串 | 必需 | 包含恢复作业的目标集群的项目的唯一标识符。 |
oplogTs | 字符串 | 必需 | |
oplogInc | 字符串 | 必需 | 32 位递增序数,表示给定秒内的操作。 与 如果您提供此设置,则此端点会将截至且包括此 Oplog 时间戳在内的所有数据恢复到您在 |
创建从特定时间点开始的自动恢复。
PIT 恢复可与使用任何MongoDB版本的副本集或使用4.2或更高版本的FCV的分片集群一起使用。
名称 | 类型 | 必要性 | 说明 |
---|---|---|---|
delivery | 对象 | 必需 | 恢复的快照数据的传输方法和详细信息。 |
delivery .methodName | 字符串 | 必需 | Ops Manager 传输数据的方式。设置为 响应显示 重要提示:使用SCP的恢复交付已在MongoDB Ops Manager 4.0 中删除。 |
delivery .targetClusterId | 字符串 | 必需 | |
delivery .targetGroupId | 字符串 | 必需 | 包含恢复作业的目标集群的项目的唯一标识符。 |
pointInTimeUTCMillis | long | 必需 |
响应
响应文档
响应JSON文档包括一个 result对象数组、一个link对象数组以及检索到的result对象总数。
名称 | 类型 | 说明 |
---|---|---|
results | 阵列 | 数组为 results 嵌入式文档部分中详细介绍的每一项包含一个对象。 |
links | 阵列 | 数组包含一个或多个指向子资源和/或相关资源的链接。 URL 之间的关系在 Web 链接规范中进行了解释。 |
totalCount | 数字 | 结果集中项目总数的整数计数。 如果对整个结果集进行分页,则它可能大于results数组中的对象数。 |
results
嵌入式文档
每个结果都是一个集群恢复作业。 此数组仅包含一个恢复作业。
名称 | 类型 | 说明 | |||
---|---|---|---|---|---|
batchId | 字符串 | 此恢复作业所属批处理的唯一标识符。 如果快照来自分片集群,则返回。 | |||
clusterId | 字符串 | ||||
created | 字符串 | ISO8601 格式的时间戳 请求恢复作业时的日期和时间格式( UTC 格式)。 | |||
delivery | 对象 | 恢复的快照数据的传输方法和详细信息。 | |||
delivery .authBearer | 字符串 | 向 urlV2 发出请求的授权持有者。 值必须是Bearer 。 | |||
delivery .authHeader | 字符串 | 向 urlV2 发出请求的授权标头。 值必须是Authorization 。 | |||
delivery .authValue | 字符串 | 针对 urlV2 请求的持有者值。 持有者的authValue 必须是令牌值。 | |||
delivery .expirationHours | 数字 | 恢复作业完成后,下载URL有效的小时数。 | |||
delivery .expires | 字符串 | ||||
delivery .maxDownloads | 数字 | 下载URL的可使用次数。 该值必须为 1 或更大。 | |||
delivery .methodName | 字符串 | 数据传输方式。 返回 HTTP 。 | |||
delivery .statusName | 字符串 | 可下载文件的当前状态。 接受的值为:
| |||
delivery .url | 字符串 | 可以下载恢复的 快照 数据的 URL 。 | |||
delivery .urlV2 | 字符串 | 可以安全地下载恢复的 快照 数据的 URL 。对此URL的请求必须在HTTP请求标头中包含
例如:
| |||
groupId | 字符串 | 拥有恢复作业的群组的唯一标识符。 | |||
hashes | 对象数组 | 如果已下载相应的 delivery.url ,则此数组将返回表示.tar.gz 文件的哈希值的单个对象。 | |||
hashes .fileName | 字符串 | 已哈希的快照文件的名称。 | |||
hashes .hash | 字符串 | 快照文件的哈希值。 | |||
hashes .typeName | 字符串 | 用于计算哈希值的哈希算法。 如果返回,则值设置为 SHA1 。 | |||
hostId | 字符串 | ||||
id | 字符串 | 恢复作业的唯一标识符。 | |||
links | 对象数组 | 指向子资源和/或相关资源的一个或多个链接。 响应中的所有 | |||
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 | 字符串 | 包含恢复作业的目标集群的项目的唯一标识符。 |
groupId | 字符串 | 拥有恢复作业的群组的唯一标识符。 |
hostId | 字符串 | |
id | 字符串 | 恢复作业的唯一标识符。 |
links | 对象数组 | 指向子资源和/或相关资源的一个或多个链接。 响应中的所有 |
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 | 字符串 | 包含恢复作业的目标集群的项目的唯一标识符。 |
groupId | 字符串 | 拥有恢复作业的群组的唯一标识符。 |
hostId | 字符串 | |
id | 字符串 | 恢复作业的唯一标识符。 |
links | 对象数组 | 指向子资源和/或相关资源的一个或多个链接。 响应中的所有 |
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 | 字符串 | 包含恢复作业的目标集群的项目的唯一标识符。 |
groupId | 字符串 | 拥有恢复作业的群组的唯一标识符。 |
hostId | 字符串 | |
id | 字符串 | 恢复作业的唯一标识符。 |
links | 对象数组 | 指向子资源和/或相关资源的一个或多个链接。 响应中的所有 |
pointInTime | 布尔 | 指示快照是否来自某个时间点的标志。 |
snapshotId | 字符串 | 要恢复的快照的唯一标识符。 |
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://<OpsManagerHost>:<Port>/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://<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}" }, "snapshotId": "{SNAPSHOT-ID}" }'
从oplog时间戳创建自动恢复。
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}" }, "oplogTs" : "1536610288", "oplogInc" : "1" }'
创建从特定时间点开始的自动恢复。
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}" }, "pointInTimeUTCMillis" : "1536610288000" }'
示例响应
响应标头
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://{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:00:00Z", "delivery": { "authBearer": "Bearer", "authHeader": "Authorization", "expirationHours": 1, "maxDownloads": 1, "methodName": "HTTP", "statusName": "READY" }, "encryptionEnabled": false, "groupId": "{PROJECT-ID}", "id": "{RESTORE-JOB-ID}", "links": [{ "href": "https://{OPSMANAGER-HOST}:{PORT}/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, "url": "{DOWNLOAD-URL}", "urlV2": "https://{OPSMANAGER-HOST}:{PORT}/backup/restore/v3/pull/{restoreJobId}/{filename}" }
{ "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" : "2020-04-21T03:49:57Z", "delivery" : { "expirationHours" : 1, "expires" : "2020-04-21T04:49:57Z", "maxDownloads" : 1, "methodName" : "HTTP", "statusName" : "READY", "url" : "https://{OPSMANAGER-HOST}:{PORT}/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://{OPSMANAGER-HOST}:{PORT}/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://{OPSMANAGER-HOST}:{PORT}/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://{OPSMANAGER-HOST}:{PORT}/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://{OPSMANAGER-HOST}:{PORT}/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 }