1 つのクラスターの 1 つの復元ジョブを作成
項目一覧
ベース URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
POST /groups/{PROJECT-ID}/clusters/{CLUSTER-ID}/restoreJobs
リクエスト パス パラメーター
名前 | タイプ | 説明 |
---|---|---|
PROJECT-ID | string | ジョブを所有するプロジェクトの一意の識別子。 |
CLUSTER-ID | string | ジョブが表すクラスターの一意の識別子。 |
リクエスト クエリ パラメータ
次のクエリ パラメータは 任意です。
名前 | タイプ | 必要性 | 説明 | default | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | ブール値 | 任意 | レスポンス本体を pretty-print に含めるかどうかを示すフラグ 形式。 | false | ||||||
envelope | ブール値 | 任意 | 応答をエンベロープでラップするかどうかを示すフラグ。 一部の APIクライアントは、 HTTPレスポンス ヘッダーまたはステータス コードにアクセスできません。 これを修正するには、クエリでenvelope=trueを設定します。 1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。
| false |
リクエスト ボディ パラメータ
名前 | タイプ | 必要性 | 説明 |
---|---|---|---|
delivery | オブジェクト | 必須 | 復元されたスナップショットデータの配信方法と詳細。 |
delivery .expires | string | 条件付き | ISO8601 のタイムスタンプ UTC の日付と時刻形式に設定し、その後 URL が利用できなくなります。
|
delivery .expirationHours | 数値 | 条件付き | 復元ジョブが完了してからダウンロードURLが有効な時間数。
|
delivery .maxDownloads | 数値 | 必須 | ダウンロードURLを使用できる回数。 これは 1 以上である必要があります。 |
delivery .methodName | string | 必須 | MongoDB Ops Managerがデータを配信する方法を意味します。 を HTTP に設定します。 |
snapshotId | string | 必須 | 復元するスナップショットの一意の識別子。 |
注意
条件
"delivery.methodName" :
AUTOMATED_RESTORE"
を設定する場合は、 delivery.targetGroupId
とdelivery.targetClusterId
を設定する必要があります。
スナップショットからの自動復元を作成します。
名前 | タイプ | 必要性 | 説明 |
---|---|---|---|
delivery | オブジェクト | 必須 | 復元されたスナップショットデータの配信方法と詳細。 |
delivery .methodName | string | 必須 | MongoDB Ops Managerがデータを配信する方法を意味します。 を レスポンスには 重要: SCPを使用した復元はMongoDB Ops Manager 4.0 で削除されました。 |
delivery .targetClusterId | string | 必須 | ターゲット クラスターの一意の識別子。 すべてのスナップショットを取得 と スナップショットエンドポイントを取得する のレスポンス本文で返される ターゲット クラスターでバックアップが有効になって いない 場合、 「すべてのスナップショットの取得」エンドポイントは |
delivery .targetGroupId | string | 必須 | 復元ジョブの宛先クラスターを含むプロジェクトの一意の識別子。 |
snapshotId | string | 必須 | 復元するスナップショットの一意の識別子。 |
oplogタイムスタンプからの自動復元の作成
oplog復元は、MongoDB 4.2以降の FCV を使用する バージョンまたはシャーディングされたクラスターを使用するレプリカセットで機能します。
名前 | タイプ | 必要性 | 説明 |
---|---|---|---|
delivery | オブジェクト | 必須 | 復元されたスナップショットデータの配信方法と詳細。 |
delivery .methodName | string | 必須 | MongoDB Ops Managerがデータを配信する方法を意味します。 を レスポンスには 重要: SCPを使用した復元はMongoDB Ops Manager 4.0 で削除されました。 |
delivery .targetClusterId | string | 必須 | ターゲット クラスターの一意の識別子。 すべてのスナップショットを取得 および スナップショットエンドポイントを取得する のレスポンス本文に返される ターゲット クラスターでバックアップが有効になって いない 場合、 「すべてのスナップショットの取得」エンドポイントは |
delivery .targetGroupId | string | 必須 | 復元ジョブの宛先クラスターを含むプロジェクトの一意の識別子。 |
oplogTs | string | 必須 | oplogタイムスタンプ として指定された UNIXエポック からの経過秒数 。 レプリカセットで この設定を指定すると、このエンドポイントは、 |
oplogInc | string | 必須 | 特定の秒内の操作を表す 32 ビットの増分序数。 この設定を指定すると、このエンドポイントは、 |
特定の時点からの自動復元を作成します。
PIT 復元は、任意の MongoDB バージョンを使用するレプリカセット、または4.2以降のFCVを使用するシャーディングされたクラスターで機能します。
名前 | タイプ | 必要性 | 説明 |
---|---|---|---|
delivery | オブジェクト | 必須 | 復元されたスナップショットデータの配信方法と詳細。 |
delivery .methodName | string | 必須 | MongoDB Ops Managerがデータを配信する方法を意味します。 を レスポンスには 重要: SCPを使用した復元はMongoDB Ops Manager 4.0 で削除されました。 |
delivery .targetClusterId | string | 必須 | ターゲット クラスターの一意の識別子。 すべてのスナップショットを取得 および スナップショットエンドポイントを取得する のレスポンス本文に返される ターゲット クラスターでバックアップが有効になって いない 場合、 「すべてのスナップショットの取得」エンドポイントは |
delivery .targetGroupId | string | 必須 | 復元ジョブの宛先クラスターを含むプロジェクトの一意の識別子。 |
pointInTimeUTCMillis | long | 必須 |
応答
応答ドキュメント
レスポンスJSONドキュメントには、 resultオブジェクトの配列、 linkオブジェクトの配列、および取得されたresultオブジェクトの合計数が含まれます。
名前 | タイプ | 説明 |
---|---|---|
results | 配列 | 配列には、 results 埋め込みドキュメントセクションに詳細な項目ごとに 1 つのオブジェクトが含まれます。 |
links | 配列 | 配列には、サブリソースや関連リソースへの 1 つ以上のリンクが含まれます。 URL 間の関係は、 Web リンク仕様 で説明されています。 |
totalCount | 数値 | 結果セット内の項目の合計数の整数。 結果セット全体がページ分割される場合は、 results配列内のオブジェクト数よりも大きくなる可能性があります。 |
results
embeddedDocument
各結果は 1 つのクラスター復元ジョブです。 この配列には 1 つの復元ジョブのみが含まれます。
名前 | タイプ | 説明 | |||
---|---|---|---|---|---|
batchId | string | この復元ジョブが属するバッチの一意の識別子。 スナップショットがシャーディングされたクラスターからのものであった場合に返されます。 | |||
clusterId | string | 復元ジョブが表すクラスターの一意の識別子。 スナップショットがレプリカセットまたはシャーディングされたクラスターからのものであった場合に返されます。 | |||
created | string | ISO8601 のタイムスタンプ 復元ジョブが要求されたときの日付と時刻形式( UTC) 。 | |||
delivery | オブジェクト | 復元されたスナップショットデータの配信方法と詳細。 | |||
delivery .authBearer | string | urlV2 へのリクエストの認可ベアラ。 値はBearer である必要があります。 | |||
delivery .authHeader | string | urlV2 へのリクエストの認可ヘッダー。 値はAuthorization である必要があります。 | |||
delivery .authValue | string | urlV2 へのリクエストのベアラの値。 ベアラーのauthValue は、トークン値である必要があります。 | |||
delivery .expirationHours | 数値 | 復元ジョブが完了してからダウンロードURLが有効な時間数。 | |||
delivery .expires | string | ||||
delivery .maxDownloads | 数値 | ダウンロードURLを使用できる回数。 これは 1 以上である必要があります。 | |||
delivery .methodName | string | データが配信される方法を意味します。 HTTP を返します。 | |||
delivery .statusName | string | ダウンロード可能な ファイルの現在のステータス。 Accepted values are:
| |||
delivery .url | string | 復元された スナップショット データをダウンロードできる URL 。 | |||
delivery .urlV2 | string | 復元された スナップショット データを安全にダウンロードできる URL 。このURLへのリクエストには、HTTP リクエスト ヘッダーに
以下に例を挙げます。
| |||
groupId | string | 復元ジョブを所有するグループの一意の識別子。 | |||
hashes | オブジェクトの配列 | 対応する delivery.url がダウンロードされている場合、この配列は.tar.gz ファイルのハッシュを表す 1 つのオブジェクトを返します。 | |||
hashes .fileName | string | ハッシュされたスナップショット ファイルの名前。 | |||
hashes .hash | string | スナップショット ファイルのハッシュ。 | |||
hashes .typeName | string | ハッシュ値を計算するために使用されるハッシュ アルゴリズム。 返された場合、値は SHA1 に設定されます。 | |||
hostId | string | ||||
id | string | 復元ジョブの一意の識別子。 | |||
links | オブジェクトの配列 | サブリソースや関連リソースへの 1 つ以上のリンク。 応答内のすべての | |||
pointInTime | ブール値 | スナップショットが特定の時点のものかどうかを示すフラグ。 | |||
snapshotId | string | 復元するスナップショットの一意の識別子。 | |||
statusName | string | ジョブの現在のステータス。 指定できる値は以下のとおりです。
| |||
timestamp | オブジェクト | スナップショットが作成されたときのoplogエントリのタイムスタンプ。 | |||
timestamp .date | string | ISO8601 のタイムスタンプ 復元されたスナップショット内の最新の oplog エントリーの UTC 形式の日付と時刻形式。 | |||
timestamp .increment | string | 復元されたスナップショット内の最新の oplog エントリで完了したすべての操作の順序。 |
名前 | タイプ | 説明 |
---|---|---|
batchId | string | この復元ジョブが属するバッチの一意の識別子。 スナップショットがシャーディングされたクラスターからのものであった場合に返されます。 |
clusterId | string | 復元ジョブが表すクラスターの一意の識別子。 スナップショットがレプリカセットまたはシャーディングされたクラスターからのものであった場合に返されます。 |
created | string | ISO8601 のタイムスタンプ 復元ジョブが要求されたときの日付と時刻形式( UTC) 。 |
delivery | オブジェクト | 復元されたスナップショットデータの配信方法と詳細。 |
delivery .methodName | string | データが配信される方法を意味します。 HTTP を返します。 |
delivery .targetClusterId | string | 復元ジョブを実行するための宛先クラスターの一意の識別子。 |
delivery .targetGroupId | string | 復元ジョブの宛先クラスターを含むプロジェクトの一意の識別子。 |
groupId | string | 復元ジョブを所有するグループの一意の識別子。 |
hostId | string | |
id | string | 復元ジョブの一意の識別子。 |
links | オブジェクト配列 | サブリソースや関連リソースへの 1 つ以上のリンク。 応答内のすべての |
pointInTime | ブール値 | スナップショットが特定の時点のものかどうかを示すフラグ。 |
snapshotId | string | 復元するスナップショットの一意の識別子。 |
statusName | string | ジョブの現在のステータス。 指定できる値は以下のとおりです。
|
timestamp | オブジェクト | スナップショットが作成されたときのoplogエントリのタイムスタンプ。 |
timestamp .date | string | ISO8601 のタイムスタンプ 復元されたスナップショット内の最新の oplog エントリーの UTC 形式の日付と時刻形式。 |
timestamp .increment | string | 復元されたスナップショット内の最新の oplog エントリで完了したすべての操作の順序。 |
名前 | タイプ | 説明 |
---|---|---|
batchId | string | この復元ジョブが属するバッチの一意の識別子。 スナップショットがシャーディングされたクラスターからのものであった場合に返されます。 |
clusterId | string | 復元ジョブが表すクラスターの一意の識別子。 スナップショットがレプリカセットまたはシャーディングされたクラスターからのものであった場合に返されます。 |
created | string | ISO8601 のタイムスタンプ 復元ジョブが要求されたときの日付と時刻形式( UTC) 。 |
delivery | オブジェクト | 復元されたスナップショットデータの配信方法と詳細。 |
delivery .methodName | string | データが配信される方法を意味します。 HTTP を返します。 |
delivery .targetClusterId | string | 復元ジョブを実行するための宛先クラスターの一意の識別子。 |
delivery .targetGroupId | string | 復元ジョブの宛先クラスターを含むプロジェクトの一意の識別子。 |
groupId | string | 復元ジョブを所有するグループの一意の識別子。 |
hostId | string | |
id | string | 復元ジョブの一意の識別子。 |
links | オブジェクト配列 | サブリソースや関連リソースへの 1 つ以上のリンク。 応答内のすべての |
pointInTime | ブール値 | スナップショットが特定の時点のものかどうかを示すフラグ。 |
snapshotId | string | 復元するスナップショットの一意の識別子。 |
statusName | string | ジョブの現在のステータス。 指定できる値は以下のとおりです。
|
timestamp | オブジェクト | スナップショットが作成されたときのoplogエントリのタイムスタンプ。 |
timestamp .date | string | ISO8601 のタイムスタンプ 復元されたスナップショット内の最新の oplog エントリーの UTC 形式の日付と時刻形式。 |
timestamp .increment | string | 復元されたスナップショット内の最新の oplog エントリで完了したすべての操作の順序。 |
名前 | タイプ | 説明 |
---|---|---|
batchId | string | この復元ジョブが属するバッチの一意の識別子。 スナップショットがシャーディングされたクラスターからのものであった場合に返されます。 |
clusterId | string | 復元ジョブが表すクラスターの一意の識別子。 スナップショットがレプリカセットまたはシャーディングされたクラスターからのものであった場合に返されます。 |
created | string | ISO8601 のタイムスタンプ 復元ジョブが要求されたときの日付と時刻形式( UTC) 。 |
delivery | オブジェクト | 復元されたスナップショットデータの配信方法と詳細。 |
delivery .methodName | string | データが配信される方法を意味します。 HTTP を返します。 |
delivery .targetClusterId | string | 復元ジョブを実行するための宛先クラスターの一意の識別子。 |
delivery .targetGroupId | string | 復元ジョブの宛先クラスターを含むプロジェクトの一意の識別子。 |
groupId | string | 復元ジョブを所有するグループの一意の識別子。 |
hostId | string | |
id | string | 復元ジョブの一意の識別子。 |
links | オブジェクト配列 | サブリソースや関連リソースへの 1 つ以上のリンク。 応答内のすべての |
pointInTime | ブール値 | スナップショットが特定の時点のものかどうかを示すフラグ。 |
snapshotId | string | 復元するスナップショットの一意の識別子。 |
statusName | string | ジョブの現在のステータス。 指定できる値は以下のとおりです。
|
timestamp | オブジェクト | スナップショットが作成されたときのoplogエントリのタイムスタンプ。 |
timestamp .date | string | ISO8601 のタイムスタンプ 復元されたスナップショット内の最新の oplog エントリーの UTC 形式の日付と時刻形式。 |
timestamp .increment | string | 復元されたスナップショット内の最新の 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 }