1 つのレガシーミラーリングされたコンフィギュレーションサーバーの 1 つの復元ジョブを作成
- Cloud Managerへのプログラムによるアクセスのための OAuth 2.0認証はプレビュー機能として利用できます。
- 機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。 OAuth2.0 認証を使用するには、 Cloud Manager Public APIへのリクエストで使用する サービス アカウント を作成します。
ベース URL: https://cloud.mongodb.com/api/public/v 1.0
Resource
POST /groups/{PROJECT-ID}/hosts/{HOST-ID}/restoreJobs
リクエスト パス パラメーター
リクエスト クエリ パラメータ
次のクエリ パラメータは 任意です。
名前 | タイプ | 必要性 | 説明 | default | ||||||
---|---|---|---|---|---|---|---|---|---|---|
pretty | ブール値 | 任意 | レスポンス本体を pretty-print にするかどうかを示すフラグ 形式。 |
| ||||||
envelope | ブール値 | 任意 | 応答をエンベロープでラップするかどうかを示すフラグ。 一部のAPIクライアントは、 HTTPレスポンス ヘッダーまたはステータス コードにアクセスできません。 これを修正するには、クエリでenvelope=trueを設定します。 1 つの結果を返すエンドポイントの場合、レスポンス本体には次のものが含まれます。
|
|
リクエスト ボディ パラメータ
名前 | タイプ | 必要性 | 説明 |
---|---|---|---|
| string | 条件付き | |
| オブジェクト | 必須 | 復元されたスナップショットデータの配信方法と詳細。 |
delivery .expires | string | 条件付き | ISO8601 のタイムスタンプ UTC の日付と時刻形式に設定し、その後 URL が利用できなくなります。
|
delivery .expirationHours | 数値 | 条件付き | 復元ジョブが完了してからダウンロードURLが有効な時間数。
|
delivery .maxDownloads | 数値 | 条件付き | ダウンロードURLを使用できる回数。 これは
|
delivery .methodName | string | 必須 | Cloud Manager がデータを配信する方法を意味します。 指定できる値は以下のとおりです。
さらに、応答には 重要: SCP経由の復元は、 27と2018時点で削除されました。 |
delivery .targetClusterId | string | 条件付き | ターゲット クラスターの一意の識別子。 すべてのスナップショットを取得 および スナップショットエンドポイントを取得する のレスポンス本文に返される
ターゲット クラスターでバックアップが有効になって いない 場合、 「すべてのスナップショットの取得」エンドポイントは |
delivery .targetGroupId | string | 条件付き | 復元ジョブの宛先クラスターを含むプロジェクトの一意の識別子。
|
| string | 条件付き | oplogタイムスタンプ として指定された UNIXエポック からの経過秒数 。 レプリカセットで
この設定を指定すると、このエンドポイントは、 |
| string | 条件付き | 特定の秒内の操作を表す 32 ビットの増分序数。
この設定を指定すると、このエンドポイントは、 |
| long | 条件付き | |
| string | 条件付き | 復元するスナップショットの一意の識別子。 |
応答
名前 | タイプ | 説明 |
---|---|---|
batchId | string | 条件付き: シャーディングされたクラスターのみ。 この復元ジョブが属するバッチの一意の識別子。 |
clusterId | string | |
作成済み | string | ISO8601 のタイムスタンプ 復元ジョブが要求されたときの日付と時刻形式( UTC) 。 |
delivery | オブジェクト | 復元されたスナップショットデータの配信方法と詳細。 |
delivery.expirationHours | 数値 | 条件付き: |
delivery.expires | string | 条件付き: |
delivery.maxDownloads | 数値 | 条件付き: |
delivery.methodName | string | データが配信される方法を意味します。 指定できる値は
重要: SCP経由の復元は、 27と2018時点で削除されました。 |
delivery.statusName | string | ダウンロード可能な ファイルの現在のステータス。 Accepted values are:
|
delivery. targetClusterId | string | 条件付き: |
delivery. targetGroupId | string | 条件付き: |
delivery.url | string | 条件付き: |
グループ ID | string | 復元ジョブを所有するグループの一意の識別子。 |
ハッシュ | オブジェクト配列 | 対応する
|
hashs.fileName | string | ハッシュされたスナップショット ファイルの名前。 |
ハッシュ。 | string | スナップショット ファイルのハッシュ。 |
hashs.typeName | string | ハッシュ値を計算するために使用されるハッシュ アルゴリズム。 存在する場合、この値は |
hostId | string | 条件付き:ミラーリングされたコンフィギュレーションサーバー( SCCC )。 この復元ジョブが属するコンフィギュレーションサーバーの一意の識別子。 |
id | string | 復元ジョブの一意の識別子。 |
Links | オブジェクト配列 | サブリソースや関連リソースへの 1 つ以上のリンク。 応答内のすべての |
snapshotId | string | 復元するスナップショットの一意の識別子。 |
statusName | string | ジョブの現在のステータス。 指定できる値は以下のとおりです。
|
タイムスタンプ | オブジェクト | スナップショットが作成されたときの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://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/hosts/{HOST-ID}/restoreJobs?pretty=true" \ --data ' { "delivery" : { "expirationHours" : 1, "expires" : "2017-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" }, "snapshotId" : "{SNAPSHOT-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}
レスポンス本体
{ "created" : "2017-08-25T16:22:15Z", "delivery" : { "expirationHours" : 1, "expires" : "2017-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" : true, "groupId" : "{PROJECT-ID}", "hostId" : "{HOST-ID}", "id" : "{JOB-ID}", "links" : [ { "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/hosts/{HOST-ID}/restoreJobs/{JOB-ID}", "rel" : "self" }, { "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/hosts/{HOST-ID}", "rel" : "http://mms.mongodb.com/cluster" }, { "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/hosts/{HOST-ID}/snapshots/{SNAPSHOT-ID}", "rel" : "http://mms.mongodb.com/snapshot" }, { "href" : "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}", "rel" : "http://mms.mongodb.com/group" } ], "masterKeyUUID" : "{UUID}", "snapshotId" : "{SNAPSHOT-ID}", "statusName" : "IN_PROGRESS" }