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

启动文件库锁定(POST 锁定策略)

描述

此操作通过执行以下操作启动文件库锁定过程:

  • 在指定文件库上安装文件库锁定策略。

  • 将文件库锁定的锁定状态设置为 InProgress

  • 返回一个用于完成文件库锁定过程的锁定 ID。

您可为每个文件库设置一个文件库锁定策略,而且此策略大小最多为 20 KB。有关文件库锁定策略的更多信息,请参阅 使用文件库锁定策略的 Glacier 访问控制

您必须在文件库锁定进入 InProgress 状态后的 24 个小时内完成文件库锁定过程。在 24 个小时的窗口结束之后,锁定 ID 将会到期,文件库将自动退出 InProgress 状态,并将从文件库中删除文件库锁定策略。您可调用 完成文件库锁定 (POST lockId),通过将文件库锁定的状态设置为 Locked 来完成文件库锁定过程。

注意

在文件库锁定处于 Locked 状态后,您不能为文件库启动新的文件库锁定。

您可通过调用 中止文件库锁定(DELETE 锁定策略) 中止文件库锁定过程。您可通过调用 获取文件库锁定(GET 锁定策略) 获取文件库锁定的状态。有关文件库锁定过程的更多信息,请参阅 Glacier 文件库锁定

如果在文件库锁定处于 InProgress 状态时调用此操作,则此操作会返回 AccessDeniedException 错误。当文件库锁定处于 InProgress 状态时,您必须先调用 中止文件库锁定(DELETE 锁定策略),然后才可以启动新的文件库锁定策略。

请求

要启动文件库锁定过程,请向文件库的 lock-policy 子资源的 URI 发送 HTTP POST 请求,如以下语法示例中所示。

语法

POST /AccountId/vaults/vaultName/lock-policy HTTP/1.1 Host: glacier.Region.amazonaws.com.cn Date: Date Authorization: SignatureValue Content-Length: Length x-amz-glacier-version: 2012-06-01 { "Policy": "string" }

注意

AccountId 值为 AWS 账户 ID。此值必须与用来对请求签名的证书相关联的 AWS 账户 ID 相匹配。您可以指定一个 AWS 账户 ID 或者选择指定单一的“-” (连字符),在这种情况下,Amazon Glacier 会使用与用于对请求签名的证书关联的 AWS 账户 ID。如果您指定您的账户 ID,请勿在 ID 中包括连字符 ('-')。

请求参数

此操作不使用请求参数。

请求标头

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

请求正文

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

Policy

以 JSON 字符串形式表示的文件库锁定策略(使用“\”作为转义符)。

类型:字符串

必需:是

响应

如果接受此策略,则 Glacier 会返回 HTTP 201 Created 响应。

语法

HTTP/1.1 201 Created x-amzn-RequestId: x-amzn-RequestId Date: Date x-amz-lock-id: lockId

响应标头

除了所有操作都具有的响应头之外,成功的响应还包括以下响应头。有关通用响应头的更多信息,请参阅常用响应标头

名称 描述
x-amz-lock-id

用于完成文件库锁定过程的锁定 ID。

类型:字符串

响应正文

此操作不返回响应正文。

错误

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

示例

示例请求

以下示例将向文件库的 lock-policy 子资源的 URI 发送 HTTP PUT 请求。Policy JSON 字符串使用“\”作为转义符。

PUT /-/vaults/examplevault/lock-policy HTTP/1.1 Host: glacier.us-west-2.amazonaws.com.cn x-amz-Date: 20170210T120000Z Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2 Content-Length: length x-amz-glacier-version: 2012-06-01 {"Policy":"{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Define-vault-lock\",\"Effect\":\"Deny\",\"Principal\":{\"AWS\":\"arn:aws:iam::999999999999:root\"},\"Action\":\"glacier:DeleteArchive\",\"Resource\":\"arn:aws:glacier:us-west-2:999999999999:vaults/examplevault\",\"Condition\":{\"NumericLessThanEquals\":{\"glacier:ArchiveAgeinDays\":\"365\"}}}]}"}

响应示例

如果请求成功,则 Glacier 会返回 HTTP 201 Created 响应,如以下示例中所示。

HTTP/1.1 201 Created x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q Date: Wed, 10 Feb 2017 12:02:00 GMT x-amz-lock-id: AE863rKkWZU53SLW5be4DUcW