在 Amazon Glacier 中配置文件库通知 - Amazon Glacier

此页面仅适用于使用文件库和 2012 年原始 REST API 的 Amazon Glacier 服务的现有客户。

如果您正在寻找归档存储解决方案,建议使用 Amazon S3 中的 Amazon Glacier 存储类别 S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive。要了解有关这些存储选项的更多信息,请参阅 Amazon Glacier 存储类别

Amazon Glacier(最初基于保管库的独立服务)不再接受新客户。Amazon Glacier 是一项独立的服务 APIs ,拥有自己的服务,可将数据存储在文件库中,不同于亚马逊 S3 和 Amazon S3 Glacier 存储类别。在 Amazon Glacier 中,您现有的数据将确保安全,并且可以无限期地访问。无需进行迁移。对于低成本、长期的存档存储, AWS 建议使用 Amazon S3 Glacier 存储类别,这些存储类别基于S3存储桶 APIs、完全 AWS 区域 可用性、更低的成本和 AWS 服务集成,可提供卓越的客户体验。如果您希望加强功能,可以考虑使用我们的 AWS 将数据从 Amazon Glacier 文件库传输到 Amazon S3 Glacier 存储类别的解决方案指南,迁移到 Amazon S3 Glacier 存储类别。

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

在 Amazon Glacier 中配置文件库通知

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

  1. 启动检索任务。

  2. 任务完成后,下载任务输出。

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

在 Amazon Glacier 中配置文件库通知:一般概念

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

Amazon Glacier 定义了与任务完成特别有关的事件(ArchiveRetrievalCompletedInventoryRetrievalCompleted),您可以将这些事件添加到文件库的通知配置中。当特定任务完成时,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 发送的任务完成消息包括任务类型(InventoryRetrievalArchiveRetrieval)、任务完成状态、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 入门