

 **此页面仅适用于使用文件库和 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 notification-configuration）
<a name="api-vault-notifications-put"></a>

## 说明
<a name="api-vault-notifications-put-description"></a>

在 Amazon Glacier（Amazon Glacier）中，检索档案和文件库清单是异步操作，您必须首先为这些操作启动任务，等到任务完成后，您才能下载任务输出。您可以将文件库配置为在这些任务完成时向 Amazon Simple Notification Service（Amazon SNS）主题发布消息。您可以使用此操作来设置文件库中的通知配置。有关更多信息，请参阅[在 Amazon Glacier 中配置文件库通知](configuring-notifications.md)。

要配置文件库通知，请向文件库的 `notification-configuration` 子资源发送设置请求。通知配置是特定于文件库的；因此，它也称为文件库子资源。请求应包括提供 Amazon Simple Notification Service（Amazon SNS）主题的 JSON 文档，以及要求 Amazon Glacier 向该主题发送通知的事件。

您可以配置文件库为以下文件库事件发布通知：

 
+ **`ArchiveRetrievalCompleted`** – 为档案检索启动的任务完成（[启动任务（POST jobs）](api-initiate-job-post.md)）时，会发生此事件。已完成任务的状态可能为 `Succeeded` 或 `Failed`。发送到 SNS 主题的通知是与从[描述任务（GET JobID）](api-describe-job-get.md)返回的输出相同的输出。
+ **`InventoryRetrievalCompleted`** – 为清单检索启动的任务完成（[启动任务（POST jobs）](api-initiate-job-post.md)）时，会发生此事件。已完成任务的状态可能为 `Succeeded` 或 `Failed`。发送到 SNS 主题的通知是与从[描述任务（GET JobID）](api-describe-job-get.md)返回的输出相同的输出。

Amazon SNS 主题必须向文件库授予允许向该主题发布通知的权限。

## 请求
<a name="api-vault-notifications-put-requests"></a>

要设置您文件库中的通知配置，请向文件库的 `notification-configuration` 子资源的 URI 发送设置请求。您可以在请求正文中指定配置。配置包括 Amazon SNS 主题名称以及向每个主题触发通知操作的一系列事件。

### 语法
<a name="api-vault-notifications-put-requests-syntax"></a>

```
 1. PUT /AccountId/vaults/VaultName/notification-configuration HTTP/1.1
 2. Host: glacier.Region.amazonaws.com
 3. Date: Date
 4. Authorization: SignatureValue
 5. x-amz-glacier-version: 2012-06-01
 6. 
 7. {
 8.    "SNSTopic": String,
 9.    "Events":[String, ...] 
10. }
```

 

**注意**  
该`AccountId`值是拥有文件库的账户的 AWS 账户 ID。您可以指定一个 AWS 账户 ID，也可以选择指定一个 '`-`'（连字符），在这种情况下，Amazon Glacier 使用与用于签署请求的凭证关联的 AWS 账户 ID。如果您使用账户 ID，请勿在 ID 中包含任何连字符（-）。

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

此操作不使用请求参数。

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

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

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

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

**Events**  
要求 Amazon Glacier 发送通知的一个或多个事件。  
*有效值*：`ArchiveRetrievalCompleted` \$1 `InventoryRetrievalCompleted`   
*是否必需*：是  
*类型*：数组

**SNSTopic**  
Amazon SNS 主题 ARN。有关更多信息，请参阅《Amazon Simple Notification Service 入门指南》**中的 [Amazon SNS 入门](https://docs.aws.amazon.com/sns/latest/gsg/Welcome.html)。  
*是否必需*：是  
*类型*：字符串

## 响应
<a name="api-vault-notifications-put-responses"></a>

作为响应，Amazon Glacier（Amazon Glacier）返回 `204 No Content`（如果接受了通知配置）。

### 语法
<a name="api-vault-notifications-put-responses-elements"></a>

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

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

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

### 响应正文
<a name="api-vault-notifications-put-responses-body"></a>

此操作不返回响应正文。

### 错误
<a name="api-vault-notifications-put-responses-errors"></a>

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

## 示例
<a name="api-vault-notifications-put-examples"></a>

以下示例展示了如何配置文件库通知。

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

以下请求设置了 `examplevault` 通知配置，以便将两个事件（`ArchiveRetrievalCompleted` 和 `InventoryRetrievalCompleted`）发送到 Amazon SNS 主题 `arn:aws:sns:us-west-2:012345678901:mytopic`。

```
 1. PUT /-/vaults/examplevault/notification-policy 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.    "Events": ["ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"],
 9.    "SNSTopic": "arn:aws:sns:us-west-2:012345678901:mytopic"       
10. }
```

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

成功的响应会返回 `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:00:00 GMT
```

## 相关部分
<a name="related-sections-vault-notifications-put"></a>

 
+ [获取文件库通知（GET notification-configuration）](api-vault-notifications-get.md)
+ [删除文件库通知（DELETE notification-configuration）](api-vault-notifications-delete.md)
+ [适用于 Amazon Glacier 的 Identity and Access Management](security-iam.md)

## 另请参阅
<a name="api-vault-notifications-put_SeeAlso"></a>

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