

 **此页面仅适用于使用文件库和 2012 年原始 REST API 的 Amazon Glacier 服务的现有客户。**

如果您正在寻找归档存储解决方案，建议使用 Amazon S3 中的 Amazon Glacier 存储类别 S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive。要了解有关这些存储选项的更多信息，请参阅 [Amazon Glacier 存储类别](https://aws.amazon.com/s3/storage-classes/glacier/)。

Amazon Glacier（最初基于保管库的独立服务）不再接受新客户。Amazon Glacier 是一项独立的服务 APIs ，拥有自己的服务，可将数据存储在文件库中，不同于亚马逊 S3 和 Amazon S3 Glacier 存储类别。在 Amazon Glacier 中，您现有的数据将确保安全，并且可以无限期地访问。无需进行迁移。对于低成本、长期的存档存储， AWS 建议[使用 Amazon S3 Glacier 存储类别，这些存储类别](https://aws.amazon.com/s3/storage-classes/glacier/)基于S3存储桶 APIs、完全 AWS 区域 可用性、更低的成本和 AWS 服务集成，可提供卓越的客户体验。如果您希望加强功能，可以考虑使用我们的 [AWS 将数据从 Amazon Glacier 文件库传输到 Amazon S3 Glacier 存储类别的解决方案指南](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/)，迁移到 Amazon S3 Glacier 存储类别。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 错误响应
<a name="api-error-responses"></a>

如果发生错误，API 将返回下列异常之一：


| 代码 | 说明 | HTTP 状态代码 | 类型 | 
| --- | --- | --- | --- | 
| AccessDeniedException | 如果有人尝试访问 AWS Identity and Access Management (IAM) 策略不允许的资源，或者请求 URI 中使用了错误的 AWS 账户 ID，则返回。有关更多信息，请参阅 [适用于 Amazon Glacier 的 Identity and Access Management](security-iam.md)。 | 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 | 如果没有为请求找到身份验证数据，则返回此异常。 | 400 Bad Request | 客户端 | 
| MissingParameterValueException | 如果请求中缺失必需的标头或参数，则返回此异常。 | 400 Bad Request | 客户端 | 
| PolicyEnforcedException | 如果检索作业将超出当前数据策略的检索速率限制，则返回此异常。有关数据检索策略的更多信息，请参阅 [Amazon Glacier 数据检索策略](data-retrieval-policy.md)。 | 400 Bad Request | 客户端 | 
| ResourceNotFoundException | 如果指定的资源（例如文件库、上传 ID 或任务 ID）不存在，则返回此异常。 | 404 Not Found | 客户端 | 
| RequestTimeoutException | 如果正在上传档案并且 Amazon Glacier（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 会 APIs 返回相同的异常，但会有不同的异常消息来帮助您解决遇到的特定错误。

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

## 示例 1：具有不存在的任务 ID 的描述任务请求
<a name="bad-request-error-example1"></a>

假设您为不存在的任务发送[描述任务（GET JobID）](api-describe-job-get.md)请求。即，您指定一个不存在的任务 ID。

```
1. GET /-/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVEXAMPLEbadJobID HTTP/1.1
2. Host: glacier.us-west-2.amazonaws.com
3. Date: 20170210T120000Z
4. x-amz-glacier-version: 2012-06-01
5. 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: Wed, 10 Feb 2017 12:00:00 GMT
{
  "code": "ResourceNotFoundException",
  "message": "The job ID was not found: HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVEXAMPLEbadJobID",
  "type": "Client"
  }
```

其中：

**Code**  
常规异常之一。  
*类型*：字符串

**Message**  
特定于返回错误的 API 的错误条件一般描述。  
*类型*：字符串

**Type**  
错误源。该字段可以为以下值之一：`Client`、`Server` 或 `Unknown`。  
*类型*：字符串。

请注意前面响应中的以下情况：
+ 对于错误响应，Amazon Glacier 返回状态代码值 `4xx` 和 `5xx`。在此示例中，状态代码为 `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：请求参数具有无效值的列出任务请求
<a name="bad-request-error-example2"></a>

在此示例中，您发送[列出任务（GET jobs）](api-jobs-get.md)请求以检索具有特定 `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
```

Amazon 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"
}
```