设置数据检索策略(PUT 策略) - Amazon S3 Glacier
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

如果您不熟悉 Amazon Simple Storage Service (Amazon S3) 中的归档存储功能,建议您先详细了解 Amazon S3 中的 S3 Glacier 存储类、S3 Glacier 即时检索S3 Glacier 灵活检索S3 Glacier 深度归档。有关更多信息,请参阅 Amazon S3 用户指南中的 S3 Glacier 存储类和用于存档对象的存储类。

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

设置数据检索策略(PUT 策略)

描述

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

在策略应用之前,设置策略的操作并不影响正在进行的检索作业。有关数据检索策略的更多信息,请参阅S3 Glacier 数据检索策略

请求

语法

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

PUT /AccountId/policies/data-retrieval HTTP/1.1 Host: glacier.Region.amazonaws.com Date: Date Authorization: SignatureValue Content-Length: Length x-amz-glacier-version: 2012-06-01 { "Policy": { "Rules":[ { "Strategy": String, "BytesPerHour": Number } ] } }

注意

AccountId 值为 Amazon Web Services 账户 ID。此值必须与用来对请求进行签名的凭证相关联的 Amazon Web Services 账户 ID 相匹配。您可以指定 Amazon Web Services 账户 ID,也可以选择指定“-”(连字符),在这种情况下,Amazon S3 Glacier 使用与用来对请求进行签名的凭证相关联的 Amazon Web Services 账户 ID。如果您指定账户 ID,请勿在 ID 中包含连字符 ('-')。

请求参数

此操作不使用请求参数。

请求标头

此操作仅使用所有操作通用的请求头。有关通用请求头的信息,请参阅常见请求标头

请求正文

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

BytesPerHour

一个小时内可以检索的最大字节数。

仅当 Strategy 字段的值为 BytesPerHour 时,此字段才是必需字段。若您设置此字段,但 Strategy 字段并未设置为 BytesPerHour,则 PUT 操作会被拒绝。

类型:数字

必需:如果 Strategy 字段设置为 BytesPerHour,则为必需。否则不是必需。

有效值:最小整数值 1。最大整数值 2^63 - 1(含)。

规则

策略规则。虽然这是列表类型,但目前只能有一个规则,其中包含 Strategy 字段,还可选择包含 BytesPerHour 字段。

类型:数组

必需:是

战略

要设置的数据检索策略的类型。

类型:字符串

必需:是

有效值:BytesPerHour|FreeTier|None. BytesPerHour 等同于在控制台中选择 Max Retrieval Rate (最大检索速率)FreeTier 等同于在控制台中选择 Free Tier Only (仅免费套餐)None 等同于在控制台中选择 No Retrieval Policy (无检索策略)。有关在控制台中选择数据检索策略的更多信息,请参阅S3 Glacier 数据检索策略

响应

语法

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

响应标头

此操作仅使用大多数响应通用的响应头。有关通用响应头的信息,请参阅常用响应标头

响应正文

此操作不返回响应正文。

错误

有关 Amazon S3 Glacier 异常和错误消息的信息,请参阅错误响应

示例

示例请求

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

PUT /-/policies/data-retrieval 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 { "Policy": { "Rules":[ { "Strategy":"BytesPerHour", "BytesPerHour":10737418240 } ] } }

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

PUT /-/policies/data-retrieval 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 { "Policy": { "Rules":[ { "Strategy":"FreeTier" } ] } }

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

PUT /-/policies/data-retrieval 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 { "Policy": { "Rules":[ { "Strategy":"None" } ] } }

响应示例

如以下示例所示,如果请求成功,Amazon S3 Glacier (S3 Glacier) 会设置策略并返回 HTTP 204 No Content

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