1개의 레거시 미러링된 config 서버에 대해 1개의 복원 작업 만들기
- Cloud Manager 에 대한 프로그래밍 방식의 액세스 를 위한 OAuth 2.0 인증 은 Preview 기능 으로 제공됩니다.
- 기능 및 해당 설명서는 미리 보기 기간에 언제든지 변경될 수 있습니다. OAuth 2.0 인증 을 사용하려면 Cloud Manager 공개 API 에 대한 요청에 사용할서비스 계정을 만듭니다.
기본 URL: https://cloud.mongodb.com/api/public/v1.0
Resource
POST /groups/{PROJECT-ID}/hosts/{HOST-ID}/restoreJobs
요청 경로 매개변수
요청 쿼리 매개변수
다음 쿼리 매개변수는 선택 사항입니다.
요청 본문 매개변수
이름 | 유형 | 필요성 | 설명 |
---|---|---|---|
checkpointId | 문자열 | 조건부 | |
delivery | 객체 | 필수 사항 | 복원된 스냅샷 데이터를 전달하는 방법 및 방법에 대한 세부 정보입니다. |
delivery .expires | 문자열 | 조건부 | ISO 8601 의 타임스탬프 날짜 및 시간 형식(UTC 기준 ) 이후에는 URL 을 더 이상 사용할 수 없습니다.
|
delivery .expirationHours | 숫자 | 조건부 | 복원 작업이 완료된 후 다운로드 URL 이 유효한 시간 수입니다.
|
delivery .maxDownloads | 숫자 | 조건부 | 다운로드 URL 을 사용할 수 있는 횟수입니다. 이 값은
|
delivery .methodName | 문자열 | 필수 사항 | Cloud Manager가 데이터를 전달하는 수단입니다. 허용되는 값은 다음과 같습니다.
또한 응답에서 중요: SCP 를 통한 복원 전달은 27, 2018 부터 제거되었습니다. |
delivery .targetClusterId | 문자열 | 조건부 | |
delivery .targetGroupId | 문자열 | 조건부 | 복원 job의 대상 cluster가 포함된 프로젝트의 고유 식별자입니다.
|
oplogTs | 문자열 | 조건부 | 유닉스 oplog 시간 이후 경과된 시간(초)을 타임 스탬프 로 표시한 타임스탬프 . 복제본 세트 에서
이 설정을 제공하면 이 엔드포인트는 이 Oplog 타임스탬프를 포함한 모든 데이터를 |
oplogInc | 문자열 | 조건부 | 주어진 초 내의 작업을 나타내는 32비트 증분 서수입니다.
이 설정을 제공하면 이 엔드포인트는 이 Oplog 타임스탬프를 포함한 모든 데이터를 |
pointInTimeUTCMillis | long | 조건부 | |
snapshotId | 문자열 | 조건부 | 복원할 스냅샷 의 고유 식별자입니다. |
응답
이름 | 유형 | 설명 |
---|---|---|
batchId | 문자열 | |
clusterId | 문자열 | |
생성됨 | 문자열 | ISO 8601 의 타임스탬프 복원 작업이 요청된 시점의 UTC 날짜 및 시간 형식입니다. |
전달 | 객체 | 복원된 스냅샷 데이터를 전달하는 방법 및 방법에 대한 세부 정보입니다. |
delivery.expirationHours | 숫자 | 조건부: "delivery.methodName" : "HTTP" . 복원 작업 이 완료된 후 다운로드 URL 이 유효한 시간 수입니다. |
delivery.expires | 문자열 | 조건부: "delivery.methodName" : "HTTP" . ISO 8601 의 타임스탬프 날짜 및 시간 형식(UTC 기준 ) 이후에는 URL 을 더 이상 사용할 수 없습니다. |
delivery.maxDownloads | 숫자 | 조건부: "delivery.methodName" : "HTTP" . 다운로드 URL 을 사용할 수 있는 횟수입니다. 이 값은 1 이상이어야 합니다. |
delivery.methodName | 문자열 | 데이터가 전달되는 수단입니다. 허용되는 값은 다음과 같습니다.
중요: SCP 를 통한 복원 전달은 27, 2018 부터 제거되었습니다. |
delivery.statusName | 문자열 | 다운로드 가능한 파일의 현재 상태입니다. 허용되는 값은 다음과 같습니다.
|
delivery.targetClusterId | 문자열 | 조건부: delivery.methodName" : "AUTOMATED_RESTORE" . 복원 작업 을 수행할 대상 클러스터 의 고유 식별자입니다. |
delivery.targetGroupId | 문자열 | 조건부: delivery.methodName" : "AUTOMATED_RESTORE" . 복원 작업 의 대상 클러스터 가 포함된 프로젝트 의 고유 식별자입니다. |
delivery.URL | 문자열 | |
groupId | 문자열 | 복원 작업을 소유한 그룹 의 고유 식별자입니다. |
해시 | 객체 배열 | 해당
|
해시.파일 이름 | 문자열 | 해시된 스냅샷 파일의 이름입니다. |
해시.해시 | 문자열 | 스냅샷 파일의 해시입니다. |
Hashes.typeName | 문자열 | 해시 값을 계산하는 데 사용되는 해싱 알고리즘입니다. 이 값이 있는 경우 이 값은 SHA1 입니다. |
hostId | 문자열 | |
id | 문자열 | 복원 작업의 고유 식별자입니다. |
링크 | 객체 배열 | 하위 리소스 및/또는 관련 리소스에 대한 하나 이상의 링크입니다. 응답의 모든 |
snapshotId | 문자열 | 복원할 스냅샷 의 고유 식별자입니다. |
statusName | 문자열 | 작업의 현재 상태입니다. 허용되는 값은 다음과 같습니다.
|
timestamp | 객체 | 스냅샷이 생성되었을 때 Oplog 항목의 타임스탬프입니다. |
timestamp.date | 문자열 | ISO 8601 의 타임스탬프 복원된 스냅샷에 있는 최신 oplog 항목의 UTC 날짜 및 시간 형식입니다. |
타임스탬프.증가 | 문자열 | 복원된 스냅샷의 가장 최근 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" }