오류 응답 - Amazon S3 Glacier

이 페이지는 저장소와 2012년부터 출시된 원본 REST API를 사용하는 S3 Glacier 서비스의 기존 고객만 이용할 수 있습니다.

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

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

오류 응답

오류가 발생할 경우 API는 다음 예외 중 한 가지를 반환합니다.

코드 설명 HTTP 상태 코드 유형
AccessDeniedException AWS Identity and Access Management IAM 정책에서 허용되지 않는 리소스에 액세스하려는 시도가 있거나 잘못된 AWS 계정 ID가 요청 URI에서 사용된 경우에 반환됩니다. 자세한 내용은 Amazon S3 Glacier의 Identity and Access Management(IAM) 섹션을 참조하세요. 403 Forbidden 클라이언트
BadRequest 요청을 처리할 수 없는 경우에 반환됩니다. 400 Bad Request 클라이언트
ExpiredTokenException 요청에서 사용한 보안 토큰이 만료된 경우에 반환됩니다. 403 Forbidden 클라이언트
InsufficientCapacityException 신속 요청을 처리할 수 있는 용량이 부족한 경우에 반환됩니다. 이 오류는 신속 가져오기에만 적용될 뿐 표준 또는 벌크 가져오기에는 적용되지 않습니다. 503 Service Unavailable 서버
InvalidParameterValueException 요청 파라미터가 잘못 지정된 경우에 반환됩니다. 400 Bad Request 클라이언트
InvalidSignatureException 요청 서명이 잘못된 경우에 반환됩니다. 403 Forbidden 클라이언트
LimitExceededException 요청 결과가 볼트 제한, 태그 제한 또는 프로비저닝된 용량 제한 중 한 가지를 초과한 경우에 반환됩니다. 400 Bad Request 클라이언트
MissingAuthenticationTokenException 요청에 대한 Authentication 데이터를 찾을 수 없는 경우에 반환됩니다. 400 Bad Request 클라이언트
MissingParameterValueException 필수 헤더 또는 파라미터가 요청에서 누락된 경우에 반환됩니다. 400 Bad Request 클라이언트
PolicyEnforcedException 가져오기 작업이 현재 데이터 정책의 가져오기 속도 제한을 초과한 경우에 반환됩니다. 데이터 가져오기 정책에 대한 자세한 내용은 S3 Glacier 데이터 검색 정책 단원을 참조하십시오. 400 Bad Request 클라이언트
ResourceNotFoundException 볼트, 업로드 ID, 작업 ID 등 지정된 리소스가 존재하지 않는 경우에 반환됩니다. 404 Not Found 클라이언트
RequestTimeoutException 아카이브를 업로드할 때 Amazon S3 Glacier(S3 Glacier)가 업로드를 수신하는 동안 시간이 초과되는 경우에 반환됩니다. 408 Request Timeout 클라이언트
SerializationException 요청 본문이 잘못된 경우에 반환됩니다. JSON 페이로드를 추가하는 경우에는 형식이 올바른지 확인해야 합니다. 400 Bad Request 클라이언트
ServiceUnavailableException 서비스가 요청을 완료할 수 없는 경우에 반환됩니다. 500 Internal Server Error 서버
ThrottlingException S3 Glacier에 대한 요청 비율을 줄여야 하는 경우에 반환됩니다. 400 Bad Request 클라이언트
UnrecognizedClientException 액세스 키 ID 또는 보안 토큰이 잘못된 경우에 반환됩니다. 400 Bad Request 클라이언트

다양한 S3 Glacier API가 동일한 예외를 반환하지만 예외 메시지가 다르기 때문에 특정 오류 문제를 해결하는 데 효과적입니다.

S3 Glacier는 오류 정보를 응답 본문에 반환합니다. 다음은 오류 응답 일부를 나타내는 예제입니다.

예제 1: 존재하지 않는 작업 ID를 사용한 작업 요청 설명

존재하지 않는 작업에 대해 작업 설명(GET JobID) 요청을 전송한다고 가정하겠습니다. 이 말은 존재하지 않는 작업 ID를 지정하는 것과 같습니다.

GET /-/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVEXAMPLEbadJobID HTTP/1.1 Host: glacier.us-west-2.amazonaws.com 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

그러면 S3 Glacier가 다음과 같은 오류 응답을 반환합니다.

HTTP/1.1 404 Not Found x-amzn-RequestId: AAABaZ9N92Iiyv4N7sru3ABEpSQkuFtmH3NP6aAC51ixfjg Content-Type: application/json Content-Length: 185 Date: Wed, 10 Feb 2017 12:00:00 GMT { "code": "ResourceNotFoundException", "message": "The job ID was not found: HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVEXAMPLEbadJobID", "type": "Client" }

여기서 각 항목은 다음과 같습니다.

코드

일반 예외 중 하나입니다.

유형: 문자열

Message

오류를 반환하는 API에 따른 일반적인 오류 조건 설명입니다.

유형: 문자열

유형

오류 출처입니다. 이 필드는 Client, Server 또는 Unknown 중 한 가지 값을 가질 수 있습니다.

유형: 문자열.

위의 응답에서 다음 사항에 유의할 필요가 있습니다.

  • 오류 응답에서 S3 Glacier는 상태 코드 값을 4xx5xx로 반환합니다. 이번 예제에서 상태 코드는 404 Not Found입니다.

  • Content-Type 헤더 값인 application/json은 본문의 JSON을 나타냅니다.

  • 본문의 JSON은 오류 정보를 제공합니다.

이전 요청에서 잘못된 작업 ID가 아니고 존재하지 않은 값을 지정한다고 가정하겠습니다. 그러면 응답으로 아래와 같이 다른 메시지가 반환됩니다.

HTTP/1.1 404 Not Found x-amzn-RequestId: AAABBeC9Zw0rp_5D0L8VfB3FA_WlTupqTKAUehMcPhdgni0 Content-Type: application/json Content-Length: 154 Date: Wed, 10 Feb 2017 12:00:00 GMT { "code": "ResourceNotFoundException", "message": "Vault not found for ARN: arn:aws:glacier:us-west-2:012345678901:vaults/examplevault", "type": "Client" }

예제 2: 요청 파라미터에 잘못된 값을 입력한 작업 요청 나열

이번 예제에서는 작업 목록 조회(GET jobs) 요청을 전송하여 statuscode가 특정한 볼트 작업을 가져오려고 합니다. 이때 올바른 값(statuscode, finished 또는 InProgress)이 아닌 잘못된 Succeeded 값인 Failed를 입력합니다.

GET /-/vaults/examplevault/jobs?statuscode=finished HTTP/1.1 Host: glacier.us-west-2.amazonaws.com 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

S3 Glacier는 관련 메시지와 함께 InvalidParameterValueException을 반환합니다.

HTTP/1.1 400 Bad Request x-amzn-RequestId: AAABaZ9N92Iiyv4N7sru3ABEpSQkuFtmH3NP6aAC51ixfjg Content-Type: application/json Content-Length: 141 Date: Wed, 10 Feb 2017 12:00:00 GMT { "code": "InvalidParameterValueException", "message": "The job status code is not valid: finished", "type: "Client" }