멀티파트 업로드 완료(POST uploadID) - Amazon S3 Glacier

Amazon Simple Storage Service(S3)의 아카이브 스토리지를 처음 사용하는 경우, 먼저 Amazon S3의 S3 Glacier 스토리지 클래스, S3 Glacier Instant Retrieval, S3 Glacier Flexible RetrievalS3 Glacier Deep Archive에 대해 자세히 알아보는 것을 권장합니다. 자세한 내용은 Amazon S3 사용 설명서의 S3 Glacier 스토리지 클래스 및 객체 보관용 스토리지 클래스를 참조하십시오.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

멀티파트 업로드 완료(POST uploadID)

설명

이 멀티파트 업로드 작업을 직접 호출하여 모든 아카이브 파트의 업로드를 마쳤으며 이제 업로드된 파트에서 S3 Glacier가 아카이브를 어셈블링할 수 있음을 Amazon S3 Glacier(S3 Glacier)에 알립니다.

멀티파트 업로드에 대한 자세한 내용은 대용량 아카이브를 여러 파트로 나누어 업로드(멀티파트 업로드) 단원을 참조하십시오.

아카이브를 어셈블링하여 볼트에 저장하고 나면 S3 Glacier가 새롭게 생성된 아카이브 리소스의 아카이브 ID를 반환합니다. 아카이브를 업로드하고 나서 나중에 아카이브를 가져오려면 반환된 아카이브 ID를 저장해야 합니다.

요청할 때는 업로드한 전체 아카이브에 대해 계산된 SHA256 트리-해시를 포함시켜야 합니다. SHA256 트리-해시의 계산에 대한 자세한 내용은 체크섬 계산 단원을 참조하십시오. 서버 측에서도 S3 Glacier는 어셈블링된 아카이브의 SHA256 트리-해시를 구성합니다. 이때 값이 일치하면 S3 Glacier는 아카이브를 볼트에 저장하고, 그렇지 않으면 오류 반환과 함께 작업이 중단됩니다. 파트 목록 조회(GET uploadID) 작업은 특정 멀티파트 업로드로 업로드된 파트 목록을 반환합니다. 여기에는 각각 업로드된 파트에서 불량 체크섬을 디버깅하는 데 사용할 수 있는 체크섬 정보도 포함됩니다.

그 밖에도 S3 Glacier는 내용 범위가 누락되지 않았는지 검사합니다. 파트를 업로드할 때는 최종 아카이브 어셈블리에서 각 파트가 위치하는 곳을 찾을 수 있도록 범위 값을 지정합니다. 이후 최종 아카이브를 어셈블링할 때 S3 Glacier는 누락된 내용 범위의 유무를 검사합니다. 이때, 누락된 범위가 있는 경우에는 S3 Glacier가 오류를 반환하고 멀티파트 업로드 완료 작업이 중단됩니다.

멀티파트 업로드 완료 작업은 멱등성을 갖습니다. 따라서 첫 번째 멀티파트 업로드 완료 작업을 성공적으로 마친 후 단기간 내에 동일한 작업을 다시 호출하는 경우에는 작업이 성공적으로 실행되고 동일한 아카이브 ID를 반환합니다. 이는 네트워크 장애로 인해 연결이 중단되거나 500 서버 오류가 발생하는 경우에 유용합니다. 이때는 멀티파트 업로드 완료 요청을 반복하더라도 중복 아카이브를 생성하지 않고 동일한 아카이브 ID가 얻습니다. 단, 멀티파트 업로드 완료 후에는 파트 목록 조회 작업을 호출할 수 없습니다. 따라서 멱등성을 갖는 완료 작업이라고 해도 멀티파트 업로드 목록 조회 응답에 멀티파트 업로드가 표시되지는 않습니다.

요청

멀티파트 업로드를 완료하려면 업로드 시작 요청에 대한 응답으로 HTTP POST 요청을 S3 Glacier가 생성한 업로드 ID의 URI로 전송하세요. 이는 파트 업로드 시 사용한 URI와 동일합니다. 이때 필요한 공통 헤더 외에도 전체 아카이브의 SHA256 트리-해시 결과와 아카이브의 총 크기(바이트)를 요청에 포함시켜야 합니다.

조건

POST /AccountId/vaults/VaultName/multipart-uploads/uploadID Host: glacier.Region.amazonaws.com Date: date Authorization: SignatureValue x-amz-sha256-tree-hash: SHA256 tree hash of the archive x-amz-archive-size: ArchiveSize in bytes x-amz-glacier-version: 2012-06-01

참고

AccountId 값은 볼트를 소유한 계정의 AWS 계정 ID입니다. Amazon S3 Glacier가 요청 서명에 사용되는 보안 인증 정보와 연결된 AWS 계정 ID를 사용할때, 사용자는 AWS 계정 ID 혹은 선택적으로 하나의 ‘-‘(하이픈)을 지정할 수 있습니다. 계정 ID를 사용하는 경우 ID에 하이픈('-')을 포함할 수 없습니다.

요청 파라미터

이 작업은 요청 파라미터를 사용하지 않습니다.

요청 헤더

이 작업은 모든 작업에 일반적인 요청 헤더 외에 다음 요청 헤더를 사용합니다. 일반적인 요청 헤더에 대한 자세한 내용은 공통 요청 헤더 단원을 참조하십시오.

이름 설명 필수
x-amz-archive-size

전체 아카이브의 총 크기(바이트)입니다. 이 값은 업로드한 개별 파트 크기의 총합이 되어야 합니다.

유형: 문자열

기본값: None

제약 조건: 없음

x-amz-sha256-tree-hash

전체 아카이브의 SHA256 트리-해시, 즉 각 파트의 SHA256 트리-해시로 이루어진 트리-해시입니다. 사용자가 요청에서 지정한 값이 S3 Glacier가 계산한 최종 어셈블링된 아카이브의 SHA256 트리 해시와 일치하지 않는다면, S3 Glacier는 오류를 반환하고 요청은 중단됩니다.

유형: 문자열

기본값: None

제약 조건: 없음

요청 요소

이 작업에서는 요청 요소를 사용하지 않습니다.

응답

Amazon S3 Glacier(S3 Glacier)는 전체 아카이브의 SHA256 트리 해시를 생성합니다. 해당 값이 요청에서 지정한 전체 아카이브의 SHA256 트리-해시와 일치하는 경우에 S3 Glacier는 아카이브를 볼트에 추가합니다. 또한 응답으로 새롭게 추가된 아카이브 리소스의 URL 경로와 함께 HTTP Location 헤더를 반환합니다. 아카이브 크기 또는 요청에서 보낸 SHA256이 일치하지 않으면 S3 Glacier가 오류를 반환하고 업로드는 미완료 상태를 유지합니다. 하지만 나중에 아카이브를 성공적으로 생성할 수 있는 지점부터 정확한 값으로 멀티파트 업로드 완료 작업을 재시도할 수 있습니다. 멀티파트 업로드가 완료되지 않으면 결국 S3 Glacier가 업로드 ID를 회수합니다.

조건

HTTP/1.1 201 Created x-amzn-RequestId: x-amzn-RequestId Date: Date Location: Location x-amz-archive-id: ArchiveId

응답 헤더

성공적인 응답에는 모든 작업에 일반적인 응답 헤더 외에 다음 응답 헤더가 포함됩니다. 일반적인 응답 헤더에 대한 자세한 내용은 공통 응답 헤더 단원을 참조하십시오.

이름 설명
Location

새롭게 생성된 아카이브의 상대적 URI 경로입니다. 이 URL에는 S3 Glacier에서 생성된 아카이브 ID가 포함됩니다.

유형: 문자열

x-amz-archive-id

아카이브 ID입니다. 이 값은 Location 헤더에도 포함됩니다.

유형: 문자열

응답 필드

이 작업은 응답 본문을 반환하지 않습니다.

예 요청

이번 예제에서는 HTTP POST 요청이 멀티파트 업로드 시작 요청으로 반환된 URI로 전송됩니다. 요청에서는 전체 아카이브의 SHA256 트리-해시와 총 아카이브 크기를 모두 지정합니다.

POST /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com z-amz-Date: 20170210T120000Z x-amz-sha256-tree-hash:1ffc0f54dd5fdd66b62da70d25edacd0 x-amz-archive-size:8388608 x-amz-glacier-version: 2012-06-01 Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2

응답의 예

다음은 S3 Glacier가 업로드된 파트에서 아카이브를 성공적으로 생성했음을 보여주는 응답 예시입니다. 이 응답에는 완료 경로와 함께 아카이브 ID가 포함됩니다.

HTTP/1.1 201 Created x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Location: /111122223333/vaults/examplevault/archives/NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId x-amz-archive-id: NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId

이제 HTTP 요청을 새롭게 추가된 리소스/아카이브의 URI로 전송할 수 있습니다. 예를 들어 GET 요청을 전송하여 아카이브를 가져오는 것이 가능합니다.