작업 출력 가져오기(GET output) - Amazon S3 Glacier

이 페이지는 Vaults를 사용하는 S3 Glacier 서비스의 기존 고객과 2012년의 원본을 사용할 수 있습니다. REST API

아카이브 스토리지 솔루션을 찾고 있다면 Amazon S3의 S3 Glacier 스토리지 클래스, S3 Glacier 인스턴트 검색, S3 Glacier 플렉서블 검색 S3 Glacier Deep Archive를 사용하는 것이 좋습니다. 이러한 스토리지 옵션에 대한 자세한 내용은 Amazon S3 사용 설명서의 S3 Glacier 스토리지 클래스S3 Glacier 스토리지 클래스를 사용한 장기 데이터 스토리지를 참조하십시오. 이러한 스토리지 클래스는 Amazon S3를 사용하며API, 모든 지역에서 사용할 수 있으며, Amazon S3 콘솔 내에서 관리할 수 있습니다. 스토리지 비용 분석, 스토리지 렌즈, 고급 선택적 암호화 기능 등과 같은 기능을 제공합니다.

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

작업 출력 가져오기(GET output)

설명

이번 작업에서는 작업 시작 (POST작업)를 사용하여 시작한 작업의 출력을 다운로드합니다. 작업을 시작할 때 지정한 작업 유형에 따라서 출력 내용은 아카이브 또는 볼트 인벤토리가 될 수 있습니다.

모든 작업 출력을 다운로드하거나, 혹은 바이트 범위를 지정하여 출력 일부를 다운로드할 수도 있습니다. 아카이브 가져오기 작업과 인벤토리 가져오기 작업 모두 다운로드 크기를 작업 출력 가져오기 응답에서 헤더로 반환되는 크기와 비교하여 맞는지 확인해야 합니다.

아카이브 가져오기 작업일 때는 다운로드 크기가 예상되는 크기와 맞는지도 확인해야 합니다. 출력 일부만 다운로드하는 경우에는 예상되는 크기가 지정한 바이트 범위에 따라 달라집니다. 예를 들어 바이트 범위를 bytes=0-1048575로 지정하는 경우에는 다운로드 크기가 1,048,576바이트이어야 합니다. 전체 아카이브를 다운로드하는 경우에 예상 크기는 Amazon S3 Glacier(S3 Glacier)에 아카이브를 업로드했을 때의 크기와 동일합니다. 예상되는 크기는 작업 출력 가져오기 응답에서 헤더로도 반환됩니다.

아카이브 검색 작업의 경우, 지정하는 바이트 범위에 따라서 S3 Glacier가 데이터 부분에 대한 체크섬을 반환합니다. 다운로드한 데이터가 정확한지 알 수 있도록 클라이언트 측 체크섬을 계산하여 값이 일치하는지, 그리고 예상한 크기가 맞는지도 함께 확인합니다.

작업 ID는 S3 Glacier가 작업을 완료한 후 최소 24시간 동안 만료되지 않습니다. 다시 말해서 S3 Glacier가 작업을 완료한 후 24시간 안에는 언제든지 작업 출력을 다운로드할 수 있습니다.

요청

조건

작업 출력을 가져오려면 HTTP GET 요청을 특정 작업의 output URI로 전송합니다.

GET /AccountId/vaults/VaultName/jobs/JobID/output HTTP/1.1 Host: glacier.Region.amazonaws.com Date: Date Authorization: SignatureValue Range: ByteRangeToRetrieve x-amz-glacier-version: 2012-06-01

참고

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

요청 파라미터

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

요청 헤더

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

이름 설명 필수
Range

출력에서 가져올 바이트 범위입니다. 예를 들어 첫 번째 1,048,576바이트를 다운로드하려면 범위를 bytes=0-1048575로 지정합니다. 자세한 내용은 Range 헤더 필드 정의 단원을 참조하십시오. 범위는 작업 시작 요청에서 지정하는 범위에 비례합니다. 기본적으로 이번 작업에서는 전체 출력을 다운로드합니다.

작업 출력 크기가 큰 경우에는 Range 요청 헤더를 사용하여 출력 중 일부를 가져올 수 있습니다. 이 경우 전체 출력을 더욱 작은 바이트 청크로 나누어 다운로드할 수 있습니다. 예를 들어 1GB의 작업 출력을 한 번에 128MB씩 데이터 청크로 나누어 다운로드하여 작업 출력 가져오기 요청을 총 8번 전송한다고 가정하겠습니다. 이때는 다음 프로세스에 따라 작업 출력을 다운로드합니다.

  1. Range 헤더를 사용하여 적합한 바이트 범위를 지정하고 128MB 청크씩 출력을 다운로드합니다. 128MB의 데이터가 모두 다운로드되었는지 확인합니다.

  2. 응답에는 데이터와 함께 페이로드 체크섬도 포함됩니다. 클라이언트에서 페이로드 체크섬을 계산한 후 응답으로 반환되는 체크섬과 비교하여 원하는 데이터가 모두 다운로드되었는지 확인합니다.

  3. 128MB의 출력 데이터 청크 8개 모두에게 1~2단계를 반복하면서 각각 적합한 바이트 범위를 지정합니다.

  4. 작업 출력 청크를 모두 다운로드하면 체크섬 값 8개로 이루어진 목록이 생깁니다. 이 값들의 트리-해시를 계산하여 전체 출력의 체크섬을 구합니다. 작업 설명(GET JobID)을 사용하여 출력을 제공한 작업에 대한 정보를 가져옵니다. 이 응답에는 S3 Glacier에 저장된 전체 아카이브의 체크섬이 포함됩니다. 이 값과 직접 계산한 체크섬을 비교하여 전체 아카이브 내용이 아무런 오류도 없이 다운로드되었는지 확인할 수 있습니다.

유형: 문자열

기본값: None

제약 조건: 없음

아니요

요청 본문

이 작업에는 요청 본문이 없습니다.

응답

조건

모든 작업 데이터를 반환하는 가져오기 요청이 전송되면 작업 출력 응답으로 200 OK 응답 코드가 반환됩니다. 내용을 부분적으로 요청할 때, 예를 들어 요청에서 Range 헤더를 지정하면 응답 코드로 206 Partial Content가 반환됩니다.

HTTP/1.1 200 OK x-amzn-RequestId: x-amzn-RequestId Date: Date Content-Type: ContentType Content-Length: Length x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier [Body containing job output.]

응답 헤더

헤더 설명
Content-Range

S3 Glacier가 반환하는 바이트 범위입니다. 부분적 출력만 다운로드하는 경우에는 응답에서 S3 Glacier가 반환한 바이트 범위를 보여줍니다.

예를 들어 bytes 0-1048575/8388608는 8MB에서 첫 번째 1MB를 반환합니다.

Content-Range 헤더에 대한 자세한 내용은 Content-Range 헤더 필드 정의 단원을 참조하십시오.

유형: 문자열

Content-Type

Content-Type은 작업 출력의 아카이브 또는 볼트 인벤토리 여부에 따라 결정됩니다.

  • 아카이브 데이터일 경우 Content-Type은 application/octet-stream입니다.

  • 볼트 인벤토리일 때는 작업을 시작하면서 CSV 형식을 요청하였다면 Content-Type은 text/csv입니다. 그 밖에는 기본적으로 볼트 인벤토리가 JSON 형식으로 반환되며, 이때 Content-Type은 application/json입니다.

유형: 문자열

x-amz-sha256-tree-hash

응답으로 반환되는 데이터 체크섬입니다. 이 헤더는 아카이브 가져오기 작업에 대한 출력을 가져올 때만 반환됩니다. 또한 작업 시작 요청에서 요청한 데이터 범위가 트리-해시로 정렬되고, 작업 출력 가져오기에서 다운로드되는 범위 또한 트리-해시로 정렬될 경우에 표시됩니다. 트리-해시 정렬 범위에 대한 자세한 내용은 데이터 다운로드 시 체크섬 수신 단원을 참조하십시오.

예를 들어 작업 시작 요청에서 가져올 트리-해시 정렬 범위(전체 아카이브 포함)를 지정한 경우에는 다음 조건 하에서 다운로드하는 데이터의 체크섬이 수신됩니다.

  • 가져온 데이터의 전체 범위를 다운로드합니다.

  • 크기가 2의 거듭제곱으로 곱셈한 1MB(1024KB)이고, 요청한 범위의 크기 승수로 시작하고 끝날 수 있도록 가져온 데이터의 바이트 범위를 요청합니다. 예를 들어 가져온 데이터가 3.1MB이고, 1MB로 시작하여 2MB로 끝나도록 반환 범위를 지정한다면 x-amz-sha256-tree-hash가 응답 헤더로 반환됩니다.

  • 데이터 끝까지 가도록 가져온 데이터의 반환 범위를 요청하고, 범위 시작은 가져올 범위 크기의 승수입니다. 단, 다음 2의 거듭제곱까지 반올림하되 1MB(1024KB)보다는 작지 않습니다. 예를 들어 가져온 데이터가 3.1MB이고, 2MB로 시작하여 3.1MB(데이터의 끝)로 끝나도록 범위를 지정한다면 x-amz-sha256-tree-hash가 응답 헤더로 반환됩니다.

유형: 문자열

응답 본문

S3 Glacier는 작업 출력을 응답 본문에 반환합니다. 이때 출력은 작업 유형에 따라 아카이브 내용 또는 볼트 인벤토리가 될 수 있습니다. 볼트 인벤토리의 경우에는 기본적으로 인벤토리 목록이 아래와 같은 JSON 본문으로 반환됩니다.

{ "VaultARN": String, "InventoryDate": String, "ArchiveList": [ {"ArchiveId": String, "ArchiveDescription": String, "CreationDate": String, "Size": Number, "SHA256TreeHash": String }, ... ] }

볼트 인벤토리 작업을 시작할 때 CSV(쉼표로 구분된 값) 형식을 요청하였다면 볼트 인벤토리가 본문에서 CSV 형식으로 반환됩니다. CSV 형식에는 "ArchiveId", "ArchiveDescription", "CreationDate", "Size", "SHA256TreeHash" 등 열이 5개 있으며, 각 열의 정의는 해당하는 JSON 필드와 같습니다.

참고

CSV 형식에서는 전체 필드가 큰따옴표로 묶여서 반환될 수도 있습니다. 쉼표 또는 큰따옴표가 포함된 필드는 항상 큰따옴표로 묶여서 반환됩니다. 예를 들어 my archive description,1"my archive description,1"로 반환됩니다. 큰따옴표로 묶여서 반환되는 필드에 포함된 큰따옴표 문자는 앞에 백슬래시 문자와 함께 이스케이프 처리됩니다. 예를 들어 my archive description,1"2"my archive description,1\"2"로, 그리고 my archive description,1\"2"my archive description,1\\"2"로 반환됩니다. 백슬래시 문자는 이스케이프 처리되지 않습니다.

JSON 응답 본문에는 다음과 같은 JSON 필드가 포함됩니다.

ArchiveDescription

아카이브에 대한 설명입니다.

유형: 문자열

ArchiveId

아카이브 ID입니다.

유형: 문자열

ArchiveList

아카이브 메타데이터의 배열입니다. 이 배열을 구성하는 객체들은 각각 볼트에 저장된 아카이브 1개의 메타데이터를 나타냅니다.

유형: 배열

CreationDate

아카이브가 생성된 UTC 날짜와 시간입니다.

유형: ISO 8601 날짜 형식의 문자열 표현입니다. 예: 2013-03-20T17:03:43.221Z

InventoryDate

볼트 변경 이후 마지막으로 작성된 볼트 인벤토리의 UTC 날짜와 시간입니다. S3 Glacier가 하루에 한 번 볼트 인벤토리를 작성하지만, 마지막 인벤토리 이후 볼트에 아카이브 추가 또는 삭제가 있는 경우에 한해 인벤토리 날짜가 업데이트됩니다.

유형: ISO 8601 날짜 형식의 문자열 표현입니다. 예: 2013-03-20T17:03:43.221Z

SHA256TreeHash

아카이브의 SHA256 트리-해시입니다.

유형: 문자열

크기

아카이브 크기(바이트)입니다.

형식: 숫자

VaultARN

아카이브 가져오기가 요청된 Amazon 리소스 이름(ARN) 리소스입니다.

유형: 문자열

오류

S3 Glacier의 예외 및 오류 메시지에 대한 자세한 내용은 오류 응답를 참조하세요.

예시

다음은 아카이브 가져오기 작업을 요청하는 예제입니다.

예제 1: 출력 다운로드

이 예시는 아카이브 검색 작업 시작 요청에 대한 응답으로 S3 Glacier가 작성한 데이터를 검색합니다.

예 요청

GET /-/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID/output HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z 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

응답의 예

다음은 아카이브 가져오기 작업의 응답 예제입니다. 예제를 보면 Content-Type 헤더가 application/octet-stream이고, x-amz-sha256-tree-hash 헤더가 응답에 포함되어 있습니다. 이 말은 모든 작업 데이터가 반환된다는 것을 의미합니다.

HTTP/1.1 200 OK x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q x-amz-sha256-tree-hash: beb0fe31a1c7ca8c6c04d574ea906e3f97b31fdca7571defb5b44dca89b5af60 Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Type: application/octet-stream Content-Length: 1048576 [Archive data.]

다음은 인베토리 가져오기 작업의 응답 예제입니다. 예제를 보면 Content-Type 헤더가 application/json입니다. 또한 응답에 x-amz-sha256-tree-hash 헤더가 포함되어 있지 않습니다.

HTTP/1.1 200 OK x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Type: application/json Content-Length: 906 { "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault", "InventoryDate": "2011-12-12T14:19:01Z", "ArchiveList": [ { "ArchiveId": "DMTmICA2n5Tdqq5BV2z7og-A20xnpAPKt3UXwWxdWsn_D6auTUrW6kwy5Qyj9xd1MCE1mBYvMQ63LWaT8yTMzMaCxB_9VBWrW4Jw4zsvg5kehAPDVKcppUD1X7b24JukOr4mMAq-oA", "ArchiveDescription": "my archive1", "CreationDate": "2012-05-15T17:19:46.700Z", "Size": 2140123, "SHA256TreeHash": "6b9d4cf8697bd3af6aa1b590a0b27b337da5b18988dbcc619a3e608a554a1e62" }, { "ArchiveId": "2lHzwhKhgF2JHyvCS-ZRuF08IQLuyB4265Hs3AXj9MoAIhz7tbXAvcFeHusgU_hViO1WeCBe0N5lsYYHRyZ7rrmRkNRuYrXUs_sjl2K8ume_7mKO_0i7C-uHE1oHqaW9d37pabXrSA", "ArchiveDescription": "my archive2", "CreationDate": "2012-05-15T17:21:39.339Z", "Size": 2140123, "SHA256TreeHash": "7f2fe580edb35154041fa3d4b41dd6d3adaef0c85d2ff6309f1d4b520eeecda3" } ] }

예제 2: 부분 출력 다운로드

이 예시는 아카이브 검색 작업 시작 요청에 대한 응답으로 S3 Glacier가 작성한 아카이브 일부만 검색합니다. 요청 예제를 보면 첫 번째 1,024바이트만 가져오도록 Range 헤더가 사용되고 있습니다.

예 요청

GET /-/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID/output HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z Range: bytes=0-1023 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

응답의 예

다음 성공적인 응답 예제를 보면 206 Partial Content 응답이 있습니다. 이 경우엔 S3 Glacier가 반환하는 바이트 범위를 지정하는 Content-Range 헤더도 응답에 포함됩니다.

HTTP/1.1 206 Partial Content x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range: bytes 0-1023/8388608 Content-Type: application/octet-stream Content-Length: 1024 [Archive data.]