

 **此页面仅适用于使用文件库和 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 存储类别。

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

# 设置数据检索策略（PUT policy）
<a name="api-SetDataRetrievalPolicy"></a>

## 描述
<a name="api-SetDataRetrievalPolicy-description"></a>

此操作在 `PUT` 请求所指定的 AWS 区域中设置数据检索策略，然后应用该策略。对于 AWS 账户，您可以针对每个 AWS 区域设置一个策略。该策略在 `PUT` 操作成功后数分钟内应用。

 在策略应用之前，设置策略的操作并不影响正在进行的检索作业。有关数据检索策略的更多信息，请参阅 [Amazon Glacier 数据检索策略](data-retrieval-policy.md)。

## 请求
<a name="api-SetDataRetrievalPolicy-requests"></a>

### 语法
<a name="api-SetDataRetrievalPolicy-requests-syntax"></a>

要设置数据检索策略，请如以下语法示例所示，向数据检索策略 URI 发送 HTTP PUT 请求。

```
 1. PUT /AccountId/policies/data-retrieval HTTP/1.1
 2. Host: glacier.Region.amazonaws.com
 3. Date: Date
 4. Authorization: SignatureValue
 5. Content-Length: Length
 6. x-amz-glacier-version: 2012-06-01
 7. 			
 8. {
 9.   "Policy":
10.     {
11.       "Rules":[
12.          {
13.              "Strategy": String,
14.              "BytesPerHour": Number          
15.          }
16.        ]
17.     }
18. }
```

 

**注意**  
`AccountId` 值为 AWS 账户 ID。此值必须与用来对请求进行签名的凭证相关联的 AWS 账户 ID 相匹配。您可以指定 AWS 账户 ID，也可以选择指定“`-`”（连字符），在这种情况下，Amazon Glacier 使用与用来对请求进行签名的凭证相关联的 AWS 账户 ID。如果您指定账户 ID，请勿在 ID 中包含任何连字符（-）。

### 请求参数
<a name="api-SetDataRetrievalPolicy-requests-parameters"></a>

此操作不使用请求参数。

### 请求标头
<a name="api-SetDataRetrievalPolicy-requests-headers"></a>

此操作仅使用所有操作通用的请求标头。有关通用请求标头的信息，请参阅[通用请求标头](api-common-request-headers.md)。

### 请求正文
<a name="api-SetDataRetrievalPolicy-requests-elements"></a>

请求正文中包含以下 JSON 字段。

 

**BytesPerHour**  
一个小时内可以检索的最大字节数。  
仅当 Strategy 字段的值为 `BytesPerHour` 时，此字段才是必需字段。若您设置此字段，但 Strategy 字段并未设置为 `BytesPerHour`，则 PUT 操作会被拒绝。  
*类型*：数字  
*是否必需*：如果 Strategy 字段设置为 `BytesPerHour`，则为必需。否则不是必需。  
*有效值*：最小整数值 1。最大整数值 2^63 - 1（含）。

**Rules**  
策略规则。虽然这是列表类型，但目前只能有一个规则，其中包含 Strategy 字段，还可选择包含 BytesPerHour 字段。  
*类型*：数组  
*是否必需*：是

**Strategy**  
要设置的数据检索策略的类型。  
*类型*：字符串  
*是否必需*：是  
有效值：`BytesPerHour` \$1 `FreeTier` \$1 `None`。`BytesPerHour` 等同于在控制台中选择**最高检索速率**。`FreeTier` 等同于在控制台中选择**仅免费套餐**。`None` 等同于在控制台中选择**无检索策略**。有关在控制台中选择数据检索策略的更多信息，请参阅 [Amazon Glacier 数据检索策略](data-retrieval-policy.md)。

## 响应
<a name="api-SetDataRetrievalPolicy-responses"></a>

### 语法
<a name="api-SetDataRetrievalPolicyresponse-syntax"></a>

```
HTTP/1.1 204 No Content
x-amzn-RequestId: x-amzn-RequestId
Date: Date
```

### 响应标头
<a name="api-SetDataRetrievalPolicy-responses-headers"></a>

此操作仅使用大多数响应通用的响应标头。有关通用响应标头的信息，请参阅[通用响应标头](api-common-response-headers.md)。

### 响应正文
<a name="api-SetDataRetrievalPolicy-responses-elements"></a>

此操作不返回响应正文。

### 错误
<a name="api-SetDataRetrievalPolicy-responses-errors"></a>

有关 Amazon Glacier 异常和错误消息的信息，请参阅[错误响应](api-error-responses.md)。

## 示例
<a name="api-SetDataRetrievalPolicy-examples"></a>

### 请求示例
<a name="api-SetDataRetrievalPolicy-example-request"></a>

以下示例发送一个 HTTP PUT 请求，其中 Strategy 字段设置为 `BytesPerHour`。

```
 1. PUT /-/policies/data-retrieval HTTP/1.1
 2. Host: glacier.us-west-2.amazonaws.com
 3. x-amz-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
 6. 			
 7. {
 8.   "Policy":
 9.     {
10.       "Rules":[
11.          {
12.              "Strategy":"BytesPerHour",
13.              "BytesPerHour":10737418240       
14.           }
15.        ]
16.     }
17. }
```

以下示例发送一个 HTTP PUT 请求，其中 Strategy 字段设置为 `FreeTier`。

```
 1. PUT /-/policies/data-retrieval HTTP/1.1
 2. Host: glacier.us-west-2.amazonaws.com
 3. x-amz-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
 6. 			
 7. {
 8.   "Policy":
 9.     {
10.       "Rules":[
11.          {
12.              "Strategy":"FreeTier"   
13.           }
14.        ]
15.     }
16. }
```

以下示例发送一个 HTTP PUT 请求，其中 Strategy 字段设置为 `None`。

```
 1. PUT /-/policies/data-retrieval HTTP/1.1
 2. Host: glacier.us-west-2.amazonaws.com
 3. x-amz-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
 6. 			
 7. {
 8.   "Policy":
 9.     {
10.       "Rules":[
11.          {
12.              "Strategy":"None"   
13.           }
14.        ]
15.     }
16. }
```

### 响应示例
<a name="api-SetDataRetrievalPolicy-example-response"></a>

如以下示例所示，如果请求成功，Amazon Glacier（Amazon Glacier）会设置策略并返回 `HTTP 204 No Content`。

```
1. HTTP/1.1 204 No Content
2. x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q
3. Date: Wed, 10 Feb 2017 12:02:00 GMT
```

## 相关部分
<a name="related-sections-SetDataRetrievalPolicy"></a>

 
+ [获取数据检索策略（GET policy）](api-GetDataRetrievalPolicy.md)

 
+ [启动任务（POST jobs）](api-initiate-job-post.md)