

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

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

# 启动文件库锁定（POST lock-policy）
<a name="api-InitiateVaultLock"></a>

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

此操作通过执行以下操作启动文件库锁定过程：
+ 在指定文件库上安装文件库锁定策略。
+ 将文件库锁定的锁定状态设置为 `InProgress`。
+ 返回一个用于完成文件库锁定过程的锁定 ID。

您可为每个文件库设置一个文件库锁定策略，而且此策略大小最多为 20 KB。有关文件库锁定策略的更多信息，请参阅[文件库锁定策略](vault-lock-policy.md)。

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

**注意**  
在文件库锁定处于 `Locked` 状态后，您不能为文件库启动新的文件库锁定。

您可通过调用[中止文件库锁定（DELETE lock-policy）](api-AbortVaultLock.md)，停止文件库锁定过程。您可通过调用[获取文件库锁定（GET lock-policy）](api-GetVaultLock.md)，获取文件库锁定的状态。有关文件库锁定过程的更多信息，请参阅 [Amazon Glacier 文件库锁定](vault-lock.md)。

如果在文件库锁定处于 `InProgress` 状态时调用此操作，则此操作会返回 `AccessDeniedException` 错误。当文件库锁定处于 `InProgress` 状态时，您必须先调用[中止文件库锁定（DELETE lock-policy）](api-AbortVaultLock.md)，然后才可以启动新的文件库锁定策略。

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

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

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

```
 1. POST /AccountId/vaults/vaultName/lock-policy 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": "string"
10. }
```

 

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

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

此操作不使用请求参数。

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

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

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

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

 **Policy**   
以 JSON 字符串形式表示的文件库锁定策略（使用“\$1”作为转义符）。  
 类型：字符串   
 是否必需：是

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

如果该策略被接受，Amazon Glacier（Amazon Glacier）将返回 `HTTP 201 Created` 响应。

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

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

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

除了所有操作通用的响应标头外，成功的响应中还包括以下响应标头。有关通用响应标头的更多信息，请参阅[通用响应标头](api-common-response-headers.md)。


|  名称  |  描述  | 
| --- | --- | 
|  x-amz-lock-id  |  用于完成文件库锁定过程的锁定 ID。 类型：字符串  | 

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

此操作不返回响应正文。

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

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

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

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

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

```
1. PUT /-/vaults/examplevault/lock-policy HTTP/1.1
2. Host: glacier.us-west-2.amazonaws.com
3. x-amz-Date: 20170210T120000Z
4. Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2
5. Content-Length: length
6. x-amz-glacier-version: 2012-06-01
7. 
8. {"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\"}}}]}"}
```

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

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

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

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

 
+ [中止文件库锁定（DELETE lock-policy）](api-AbortVaultLock.md)

 
+ [完成文件库锁定（POST lockId）](api-CompleteVaultLock.md)

 
+ [获取文件库锁定（GET lock-policy）](api-GetVaultLock.md)

## 另请参阅
<a name="api-InitiateVaultLock_SeeAlso"></a>

有关在特定语言的 Amazon SDK 中使用此 API 的更多信息，请参阅以下内容：
+  [AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/reference/glacier/initiate-vault-lock.html) 