启动文件库锁定(POST 锁定策略) - 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 存储类和用于存档对象的存储类。

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

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

描述

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

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

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

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

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

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

注意

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

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

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

请求

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

语法

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

注意

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

请求参数

此操作不使用请求参数。

请求标头

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

请求正文

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

策略

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

类型:字符串

必需:是

响应

如果该策略被接受,Amazon S3 Glacier (S3 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 S3 Glacier 异常和错误消息的信息,请参阅错误响应

示例

示例请求

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

PUT /-/vaults/examplevault/lock-policy HTTP/1.1 Host: glacier.us-west-2.amazonaws.com 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\"}}}]}"}

响应示例

如果请求成功,则 S3 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

另请参阅

有关在特定语言的 Amazon SDK 中使用此 API 的更多信息,请参阅以下内容: