작업 시작 (POST작업) - 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 콘솔 내에서 관리할 수 있습니다. 스토리지 비용 분석, 스토리지 렌즈, 고급 선택적 암호화 기능 등과 같은 기능을 제공합니다.

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

작업 시작 (POST작업)

이 작업은 다음 유형의 Amazon S3 Glacier(S3 Glacier) 작업을 시작합니다.

  • archive-retrieval: 아카이브 검색

  • inventory-retrieval: 볼트 인벤토리 작성

아카이브 또는 볼트 인벤토리 가져오기 작업 시작

아카이브 또는 볼트 인벤토리 가져오기는 비동기식 작업이기 때문에 먼저 작업을 시작해야 합니다. 일단 시작되면 작업을 취소할 수 없습니다. 가져오기 작업은 2단계 프로세스로 구성됩니다.

  1. 작업 시작 (POST작업) 작업을 사용하여 가져오기 작업을 시작합니다.

    중요

    데이터 가져오기 정책으로 인해 가져오기 작업 시작 요청이 PolicyEnforcedException과 함께 실패할 수 있습니다. 데이터 가져오기 정책에 대한 자세한 내용은 S3 Glacier 데이터 검색 정책 단원을 참조하십시오. PolicyEnforcedException 예외에 대한 자세한 내용은 오류 응답 단원을 참조하십시오.

  2. 작업이 완료된 후 작업 출력 가져오기(GET output) 작업을 사용하여 바이트를 다운로드합니다.

검색 요청은 비동기식으로 실행됩니다. 검색 작업을 시작하면 S3 Glacier가 작업을 생성한 후 응답으로 작업 ID를 반환합니다. S3 Glacier가 검색 작업을 마치면 작업 출력(아카이브 또는 인벤토리 데이터)을 가져올 수 있습니다. 작업 출력 다운로드에 대한 자세한 내용은 작업 출력 가져오기(GET output) 작업을 참조하십시오.

작업 출력을 다운로드하려면 작업을 먼저 마쳐야 합니다. 작업 완료 시기는 다음과 같은 옵션으로 알 수 있습니다.

  • Amazon SNS 알림 사용 - 작업이 완료된 후 S3 Glacier에서 알림을 게시할 수 있는 Amazon SNS 주제를 지정할 수 있습니다. 작업 요청별로 SNS 주제를 지정할 수 있습니다. 알림 메시지는 S3 Glacier가 작업을 마친 후에만 전송됩니다. 작업 요청별로 SNS 주제를 지정하는 것 외에도 모든 검색에 대해 작업 알림을 보내도록 저장소에 대한 저장소 알림을 구성할 수 있습니다. 자세한 내용은 볼트 알림 구성 설정(PUT notification-configuration) 단원을 참조하십시오.

  • 작업 세부 정보 가져오기: 작업이 진행 중일 때 작업 설명(GET JobID) 요청을 통해 작업 상태 정보를 가져올 수 있습니다. 하지만 Amazon SNS 알림을 사용하여 작업 완료 시기를 확인하는 것이 더 효율적입니다.

참고

알림 메시지를 통해 가져오는 정보나 작업 설명(GET JobID)을 호출하여 가져오는 정보 모두 동일합니다.

특정 이벤트의 경우 볼트에 알림 구성을 모두 추가하고 작업 시작 요청에서 SNS 주제를 지정하면 S3 Glacier는 두 알림을 모두 전송합니다. 자세한 내용은 볼트 알림 구성 설정(PUT notification-configuration) 단원을 참조하십시오.

볼트 인벤토리

S3 Glacier는 아카이브를 볼트에 처음 업데이트한 날짜부터 대략 하루에 한 번씩 볼트 인벤토리를 업데이트합니다. 마지막 인벤토리 이후 볼트에 대한 아카이브 추가 또는 삭제가 없는 경우에는 인벤토리 데이터가 업데이트되지 않습니다. 저장소 인벤토리 작업을 시작하면 S3 Glacier는 생성된 마지막 인벤토리를 반환합니다. 이 인벤토리는 실시간 데이터가 아닌 스냅샷입니다. point-in-time

S3 Glacier가 볼트를 위한 첫 번째 인벤토리를 생성한 뒤, 인벤토리 검색이 가능해지기까지는 일반적으로 반나절에서 하루가 걸립니다.

아카이브를 업로드할 때마다 볼트 인벤토리를 가져오는 것이 불필요하다고 생각할 수도 있습니다. 그러나 S3 Glacier에 업로드하는 아카이브에 대한 메타데이터를 연결하여 클라이언트 측에서 데이터베이스를 관리한다고 가정해보자. 볼트 인벤토리가 필요에 따라 데이터베이스 정보와 실제 볼트 인벤토리를 서로 조정하는 데 얼마나 유용한지 알게 될 것입니다. 인벤토리 작업 출력으로 반환되는 데이터 필드에 대한 자세한 내용은 응답 본문 단원을 참조하십시오.

범위가 지정된 인벤토리 가져오기

아카이브 생성 날짜를 기준으로 필터링하거나 제한을 설정하여 가져오는 인벤토리 항목 수를 제한할 수 있습니다.

아카이브 생성 날짜에 따른 필터링

아카이브가 StartDateEndDate 사이에서 생성되었을 때 작업 시작 요청에서 두 파라미터 값을 지정하여 인벤토리 항목을 가져올 수 있습니다. 그러면 StartDate 당일 또는 이후 EndDate 이전에 생성된 아카이브가 반환됩니다. StartDate 없이 EndDate만 입력하면 StartDate 당일 또는 이후에 생성된 모든 아카이브의 인벤토리를 가져옵니다. 반대로 EndDate 없이 StartDate만 입력하면 EndDate 이전에 생성된 모든 아카이브의 인벤토리를 가져옵니다.

가져오기 1건당 인벤토리 항목 수 제한

작업 시작 요청에서 Limit 파라미터를 설정하여 반환되는 인벤토리 항목 수를 제한할 수 있습니다. 그러면 지정된 Limit까지 인벤토리 항목이 인벤토리 작업 출력에 포함됩니다. 인벤토리 항목이 더 있는 경우에는 결과에 페이지가 매겨집니다. 작업을 마친 후 작업 설명(GET JobID)을 통해 후속 작업 시작 요청에서 사용하는 마커를 확인할 수 있습니다. 마커는 다음 인벤토리 항목을 가져오는 시작점을 나타냅니다. 이전 작업 설명 출력의 마커로 작업 시작 요청을 반복 생성해 전체 인벤토리를 페이지별로 살펴볼 수 있습니다. null을 반환하는 작업 설명 마커를 얻을 때까지 이를 계속합니다. null은 사용할 수 있는 인벤토리 항목이 더 이상 없음을 나타냅니다.

Limit 파라미터는 날짜 범위 파라미터와 함께 사용할 수 있습니다.

범위가 지정된 아카이브 가져오기

아카이브 가져오기는 아카이브 전체 또는 범위로 시작할 수 있습니다. 범위를 지정하여 아카이브를 가져올 때는 반환할 바이트 범위를 지정합니다. 지정하는 범위는 메가바이트(MB)로 정렬되어야 합니다. 다시 말해 범위의 시작 값이 1MB로 나누어져야 하고, 범위의 종료 값 + 1이 1MB로 나누어지거나 아카이브의 끝과 같아야 합니다. 범위가 지정된 아카이브 가져오기가 메가바이트 정렬을 따르지 않으면 400 응답이 반환됩니다. 그 밖에 작업 출력 가져오기(작업 출력 가져오기(GET output))를 사용해 다운로드하는 데이터의 체크섬 값을 가져오려면 범위가 트리-해시로 정렬되어야 합니다. 트리-해시 정렬 범위에 대한 자세한 내용은 데이터 다운로드 시 체크섬 수신 단원을 참조하십시오.

신속, 표준, 벌크 계층

아카이브 검색 작업을 시작할 때 요청 본문의 Tier 필드에서 다음 옵션 중 하나를 지정할 수 있습니다.

  • Expedited: 신속 계층을 사용하면 아카이브 복원에 대한 긴급 요청이 필요한 경우, 빠르게 데이터에 액세스할 수 있습니다. 가장 큰 아카이브(250MB+)를 제외하고 신속 계층을 사용하여 액세스되는 데이터는 일반적으로 1~5분 안에 사용할 수 있습니다.

  • Standard: 표준 계층을 사용하면 몇 시간 내에 모든 아카이브에 액세스할 수 있습니다. 표준 계층을 사용하여 액세스하는 데이터는 일반적으로 3~5시간 안에 사용할 수 있습니다. 이 옵션은 계층 옵션을 지정하지 않는 작업 요청의 기본 옵션입니다.

  • Bulk: 벌크 계층은 S3 Glacier에서 가장 저렴한 계층으로서 페타바이트 단위의 대용량 데이터도 저렴한 비용으로 하루 만에 검색할 수 있습니다. 벌크 계층을 사용하여 액세스하는 데이터는 일반적으로 5~12시간 안에 사용할 수 있습니다.

신속 및 벌크 가져오기에 대한 자세한 내용은 AWS Console을 사용하여 S3 Glacier 아카이브 검색하기 단원을 참조하십시오.

요청

작업을 시작하려면 HTTP POST 메서드를 사용하고 저장소의 하위 리소스로 요청 범위를 지정합니다. jobs 요청 JSON 문서에 작업 요청의 세부 정보를 지정합니다. 작업 유형은 Type 필드로 지정됩니다. 선택적으로, 작업을 완료한 후 S3 Glacier가 알림을 게시할 수 있는 Amazon SNS 주제를 나타내는 SNSTopic 필드를 지정할 수 있습니다.

참고

SNSAmazon에 알림을 게시하려면 주제가 아직 존재하지 않는 경우 직접 생성해야 합니다. S3 Glacier는 사용자를 위해 토픽을 생성하지 않습니다. 토픽에는 반드시 S3 Glacier 볼트의 발행물을 수신할 권한이 있어야 합니다. S3 Glacier는 볼트가 토픽을 게시할 권한이 있는지 확인하지 않습니다. 권한이 올바로 구성되어 있지 않으면 작업이 완료되더라도 알림 메시지가 수신되지 않을 수도 있습니다.

구문

다음은 작업 시작을 위한 요청 구문입니다.

POST /AccountId/vaults/VaultName/jobs HTTP/1.1 Host: glacier.Region.amazonaws.com Date: Date Authorization: SignatureValue x-amz-glacier-version: 2012-06-01 { "jobParameters": { "ArchiveId": "string", "Description": "string", "Format": "string", "InventoryRetrievalParameters": { "EndDate": "string", "Limit": "string", "Marker": "string", "StartDate": "string" }, "OutputLocation": { "S3": { "AccessControlList": [ { "Grantee": { "DisplayName": "string", "EmailAddress": "string", "ID": "string", "Type": "string", "URI": "string" }, "Permission": "string" } ], "BucketName": "string", "CannedACL": "string", "Encryption": { "EncryptionType": "string", "KMSContext": "string", "KMSKeyId": "string" }, "Prefix": "string", "StorageClass": "string", "Tagging": { "string" : "string" }, "UserMetadata": { "string" : "string" } } }, "RetrievalByteRange": "string", "SelectParameters": { "Expression": "string", "ExpressionType": "string", "InputSerialization": { "csv": { "Comments": "string", "FieldDelimiter": "string", "FileHeaderInfo": "string", "QuoteCharacter": "string", "QuoteEscapeCharacter": "string", "RecordDelimiter": "string" } }, "OutputSerialization": { "csv": { "FieldDelimiter": "string", "QuoteCharacter": "string", "QuoteEscapeCharacter": "string", "QuoteFields": "string", "RecordDelimiter": "string" } } }, "SNSTopic": "string", "Tier": "string", "Type": "string" } }
참고

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

요청 본문

요청은 요청 본문의 JSON 형식으로 다음 데이터를 수락합니다.

jobParameters

작업 정보를 지정하기 위한 옵션을 제공합니다.

유형: jobParameters 객체

필수 항목 여부: 예

응답

S3 Glacier가 작업을 생성합니다. 응답에서 URI 작업의 결과를 반환합니다.

구문

HTTP/1.1 202 Accepted x-amzn-RequestId: x-amzn-RequestId Date: Date Location: location x-amz-job-id: jobId x-amz-job-output-path: jobOutputPath

응답 헤더

헤더 설명
Location

작업의 상대 URI 경로. 이 URI 경로를 사용하여 작업 상태를 찾을 수 있습니다. 자세한 내용은 작업 설명(GET JobID) 단원을 참조하십시오.

타입: 문자열

기본값: None

x-amz-job-id

작업 ID입니다. 이 값은 Location 헤더에도 포함됩니다.

타입: 문자열

기본값: None

x-amz-job-output-path

선택 결과가 저장되는 위치까지의 경로입니다.

타입: 문자열

기본값: None

응답 본문

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

Errors

이 작업에는 모든 S3 Glacier 작업에 일반적으로 발생할 수 있는 오류 외에 다음 오류도 포함됩니다. Amazon S3 Glacier의 오류에 대한 자세한 내용과 오류 코드 목록은 오류 응답 섹션을 참조하세요.

코드 설명 HTTP상태 코드 유형
InsufficientCapacityException 신속 요청을 처리할 수 있는 용량이 부족한 경우에 반환됩니다. 이 오류는 신속 가져오기에만 적용될 뿐 표준 또는 벌크 가져오기에는 적용되지 않습니다. 503 Service Unavailable Server

요청 예제: 아카이브 가져오기 작업 시작

POST /-/vaults/examplevault/jobs 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 { "Type": "archive-retrieval", "ArchiveId": "NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId", "Description": "My archive description", "SNSTopic": "arn:aws:sns:us-west-2:111111111111:Glacier-ArchiveRetrieval-topic-Example", "Tier" : "Bulk" }

다음은 요청 본문의 RetrievalByteRange 필드에서 가져올 아카이브 범위를 지정하는 예제입니다.

{ "Type": "archive-retrieval", "ArchiveId": "NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId", "Description": "My archive description", "RetrievalByteRange": "2097152-4194303", "SNSTopic": "arn:aws:sns:us-west-2:111111111111:Glacier-ArchiveRetrieval-topic-Example", "Tier" : "Bulk" }

응답의 예

HTTP/1.1 202 Accepted x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Location: /111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID x-amz-job-id: HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID

요청 예제: 인벤토리 가져오기 작업 시작

다음은 인벤토리 가져오기 작업을 시작하여 examplevault 볼트에서 아카이브 목록을 가져오는 요청 예제입니다. 요청 CSV 본문에서 로 Format 설정된 값은 재고가 CSV 형식대로 반품되었음을 나타냅니다.

POST /-/vaults/examplevault/jobs HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z Content-Type: application/x-www-form-urlencoded 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 { "Type": "inventory-retrieval", "Description": "My inventory job", "Format": "CSV", "SNSTopic": "arn:aws:sns:us-west-2:111111111111:Glacier-InventoryRetrieval-topic-Example" }

응답의 예

HTTP/1.1 202 Accepted x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Location: /111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID x-amz-job-id: HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID

요청 예제: 한도가 설정된 날짜 필터링을 사용하여 인벤토리 가져오기 작업을 시작하고, 다음 인벤토리 항목 페이지를 가져오기 위한 후속 요청을 시작합니다.

다음은 날짜 필터링을 사용하고 최대 수를 설정하여 볼트 인벤토리 가져오기 작업을 시작하는 요청 예제입니다.

{ "ArchiveId": null, "Description": null, "Format": "CSV", "RetrievalByteRange": null, "SNSTopic": null, "Type": "inventory-retrieval", "InventoryRetrievalParameters": { "StartDate": "2013-12-04T21:25:42Z", "EndDate": "2013-12-05T21:25:42Z", "Limit" : "10000" }, }

다음은 작업 설명(GET JobID)에서 가져온 마커를 사용하여 다음 인벤토리 항목 페이지를 가져오는 후속 요청의 예제입니다.

{ "ArchiveId": null, "Description": null, "Format": "CSV", "RetrievalByteRange": null, "SNSTopic": null, "Type": "inventory-retrieval", "InventoryRetrievalParameters": { "StartDate": "2013-12-04T21:25:42Z", "EndDate": "2013-12-05T21:25:42Z", "Limit": "10000", "Marker": "vyS0t2jHQe5qbcDggIeD50chS1SXwYMrkVKo0KHiTUjEYxBGCqRLKaiySzdN7QXGVVV5XZpNVG67pCZ_uykQXFMLaxOSu2hO_-5C0AtWMDrfo7LgVOyfnveDRuOSecUo3Ueq7K0" }, }

응답의 예

HTTP/1.1 202 Accepted x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:00:00 GMT Location: /111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID x-amz-job-id: HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID x-amz-job-output-path: test/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID/

관련 단원