Amazon Glacier
开发人员指南 (API 版本 2012-06-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

错误响应

如果发生错误,则 Amazon Glacier API 返回以下异常之一:

代码 描述 HTTP 状态代码 类型
AccessDeniedException 如果尝试访问 AWS Identity and Access Management (IAM) 策略不允许的资源,或者在请求 URI 中使用了错误的 AWS 账户 ID,则返回此异常。有关更多信息,请参阅 Amazon Glacier 的身份验证和访问控制 403 Forbidden 客户端
BadRequest 如果无法处理请求,则返回此异常。 400 Bad Request 客户端
ExpiredTokenException 如果请求中使用的安全令牌已过期,则返回此异常。 403 Forbidden 客户端
InsufficientCapacityException 如果没有足够的容量处理此加速请求,则返回此代码。此错误仅适用于加速检索,不适用于标准或批量检索。 503 Service Unavailable Server
InvalidParameterValueException 如果错误地指定了请求的参数,则返回此异常。 400 Bad Request 客户端
InvalidSignatureException 如果请求签名无效,则返回此异常。 403 Forbidden 客户端
LimitExceededException 如果请求导致超过文件库限制、标签限制或预配置容量限制中的任何一项,则返回此代码。 400 Bad Request 客户端
MissingAuthenticationTokenException 如果没有为请求找到身份验证数据,则返回此异常。 400 Bad Request 客户端
MissingParameterValueException 如果请求中缺失必需的标头或参数,则返回此异常。 400 Bad Request 客户端
PolicyEnforcedException 如果检索作业将超出当前数据策略的检索速率限制,则返回此异常。有关数据检索策略的更多信息,请参阅Amazon Glacier 数据检索策略 400 Bad Request 客户端
ResourceNotFoundException 如果指定的资源(例如文件库、上传 ID 或任务 ID)不存在,则返回此异常。 404 Not Found 客户端
RequestTimeoutException 如果正在上传档案并且 Amazon Glacier 在接收上传时超时,则返回此异常。 408 Request Timeout 客户端
SerializationException 如果请求正文无效,则返回此异常。如果包括 JSON 有效负载,则检查其格式是否正确。 400 Bad Request 客户端
ServiceUnavailableException 如果服务无法完成请求,则返回此异常。 500 Internal Server Error 服务器
ThrottlingException 如果您需要降低向 Amazon Glacier 发送请求的速率,则返回此异常。 400 Bad Request 客户端
UnrecognizedClientException 如果访问密钥 ID 或安全令牌无效,则返回此异常。 400 Bad Request 客户端

各种 Amazon Glacier API 返回相同的异常,但会具有不同的异常消息,以帮助您排除遇到的特定错误。

Amazon Glacier 会在响应正文中返回错误信息。以下示例显示了某些错误响应。

示例 1:具有不存在的任务 ID 的描述任务请求

假设您为不存在的任务发送 描述任务(获取任务 ID) 请求。即,您指定一个不存在的任务 ID。

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

作为响应,Amazon Glacier 返回以下错误响应。

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

其中:

代码

常规异常之一。

类型:字符串

消息

特定于返回错误的 API 的错误条件一般描述。

类型:字符串

类型

错误源。该字段可以为以下值之一:ClientServerUnknown

类型:字符串.

请注意前面响应中的以下情况:

  • 对于错误响应,Amazon 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: Sun, 23 Nov 2014 12:00:00 GMT { "code": "ResourceNotFoundException", "message": "Vault not found for ARN: arn:aws:glacier:us-west-2:012345678901:vaults/examplevault", "type": "Client" }

示例 2:请求参数具有无效值的列出任务请求

在此示例中,您发送 列出任务(获取任务) 请求以取回具有特定 statuscode 的文件库任务,而您提供了错误的 statuscodefinished,而不是可接受的值 InProgressSucceededFailed

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

Amazon Glacier 返回 InvalidParameterValueException 以及相应的消息。

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