

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

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

# 在 Amazon Glacier 中配置文件库通知
<a name="configuring-notifications"></a>

从 Amazon Glacier 检索任何内容（例如文件库中的档案或文件库清单）是一个分为两步的过程。

1. 启动检索任务。

1. 任务完成后，下载任务输出。

您可以在文件库上设置通知配置，以便在任务完成时向 Amazon Simple Notification Service（Amazon SNS）主题发送消息。

**Topics**
+ [在 Amazon Glacier 中配置文件库通知：一般概念](#configuring-notifications.general)
+ [在 Amazon Glacier 中使用配置文件库通知 适用于 Java 的 AWS SDK](configuring-notifications-sdk-java.md)
+ [在 Amazon Glacier 中使用配置文件库通知 适用于 .NET 的 AWS SDK](configuring-notifications-sdk-dotnet.md)
+ [使用 REST API 在 Amazon Glacier 中配置文件库通知](configuring-notifications-rest-api.md)
+ [使用 Amazon Glacier 控制台配置文件库通知](configuring-notifications-console.md)
+ [使用配置文件库通知 AWS Command Line Interface](configuring-notifications-cli.md)

## 在 Amazon Glacier 中配置文件库通知：一般概念
<a name="configuring-notifications.general"></a>

Amazon Glacier 检索任务请求是异步执行的。您必须等到 Amazon Glacier 完成任务，然后才能获取其输出。您可以定期轮询 Amazon Glacier 以确定任务状态，但这不是最佳方法。Amazon Glacier 还支持通知。任务完成后，任务可以将消息发布到 Amazon Simple Notification Service（Amazon SNS）主题。要使用此功能，您必须在文件库上设置通知配置。在配置中，您可以标识一个或多个事件，以及您希望 Amazon Glacier 在事件发生时向其发送消息的 Amazon SNS 主题。

Amazon Glacier 定义了与任务完成特别有关的事件（`ArchiveRetrievalCompleted`、`InventoryRetrievalCompleted`），您可以将这些事件添加到文件库的通知配置中。当特定任务完成时，Amazon Glacier 会向 SNS 主题发布通知消息。

 通知配置是 JSON 文档，如以下示例所示。

```
{    
   "SNSTopic": "arn:aws:sns:us-west-2:012345678901:mytopic",    
   "Events": ["ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"] 
}
```

请注意，对于一个文件库，您只能配置一个 Amazon SNS 主题。

 

**注意**  
向文件库添加通知配置会使 Amazon Glacier 在通知配置中指定的事件每次发生时都发送通知。此外，您还可以选择性地在每个任务启动请求中指定 Amazon SNS 主题。如果您在文件库中添加了通知配置，并且在您的启动任务请求中也指定了 Amazon SNS 主题，则 Amazon Glacier 会发送这两种通知。

Amazon Glacier 发送的任务完成消息包括任务类型（`InventoryRetrieval`、`ArchiveRetrieval`）、任务完成状态、SNS 主题名称、任务状态代码和文件库 ARN 等信息。以下是 Amazon Glacier 在 `InventoryRetrieval` 任务完成后发送到 SNS 主题的示例通知。

```
{
 "Action": "InventoryRetrieval",
 "ArchiveId": null,
 "ArchiveSizeInBytes": null,
 "Completed": true,
 "CompletionDate": "2012-06-12T22:20:40.790Z",
 "CreationDate": "2012-06-12T22:20:36.814Z",
 "InventorySizeInBytes":11693,
 "JobDescription": "my retrieval job",
 "JobId":"HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID",
 "SHA256TreeHash":null,
 "SNSTopic": "arn:aws:sns:us-west-2:012345678901:mytopic",
 "StatusCode":"Succeeded",
 "StatusMessage": "Succeeded",
 "VaultARN": "arn:aws:glacier:us-west-2:012345678901:vaults/examplevault"
}
```

此外，如果 `Completed` 字段为 true，则您还必须检查 `StatusCode` 以查看任务是成功完成了还是失败了。

**注意**  
请注意，Amazon SNS 主题必须允许文件库发布通知。默认情况下，只有 Amazon SNS 主题拥有者才能向主题发布消息。但是，如果 Amazon SNS 主题和文件库归其他人所有 AWS 账户，则必须将 Amazon SNS 主题配置为接受文件库中的出版物。您可以在 Amazon SNS 控制台中配置 Amazon SNS 主题策略。

有关 Amazon SNS 的更多信息，请参阅 [Amazon SNS 入门](https://docs.aws.amazon.com/sns/latest/gsg/Welcome.html)。