在 Amazon S3 Glacier 中下载文件库清单 - Amazon S3 Glacier

如果您不熟悉 Amazon Simple Storage Service (Amazon S3) 中的归档存储功能,建议您先详细了解 Amazon S3 中的 S3 Glacier 存储类、S3 Glacier 即时检索S3 Glacier 灵活检索S3 Glacier 深度归档。有关更多信息,请参阅 Amazon S3 用户指南中的 S3 Glacier 存储类和用于存档对象的存储类。

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

在 Amazon S3 Glacier 中下载文件库清单

您向您的文件库上传第一个档案后,Amazon S3 Glacier (S3 Glacier) 会自动创建文件库清单,然后大约每天更新它一次。S3 Glacier 创建第一份清单后,通常需要经过半天(最多一天)时间,该清单才可供检索。您可以通过以下流程(该流程分为两个步骤)从 S3 Glacier 检索文件库清单:

  1. 使用 启动作业(POST 作业) 操作启动清单检索任务。

    重要

    数据检索策略可能导致您启动检索作业的请求失败,并发生 PolicyEnforcedException 异常。有关数据检索策略的更多信息,请参阅S3 Glacier 数据检索策略。有关 PolicyEnforcedException 异常的更多信息,请参阅错误响应

  2. 在任务完成后,使用 获取任务输出(获取输出) 操作下载字节。

例如,检索档案或文件库清单的操作要求您首先启动检索任务。任务请求会异步运行。当您启动检索任务时,S3 Glacier 会创建任务并在响应中返回任务 ID。S3 Glacier 完成任务时,您可以获取任务输出(档案字节或文件库清单数据)。

任务必须先完成,然后,您才能获取其输出。要确定任务的状态,您有以下选择:

  • 等待任务完成通知—您可以指定 S3 Glacier 在完成任务后可以向其发布通知的 Amazon Simple Notification Service (Amazon SNS) 主题。您可以使用以下方法指定 Amazon SNS 主题:

    • 为每个任务指定 Amazon SNS 主题。

      启动任务时,您可以选择性地指定 Amazon SNS 主题。

    • 设置文件库的通知配置。

      您可以设置文件库的特定事件的通知配置(参阅在 Amazon S3 Glacier 中配置文件库通知)。只要发生特定事件,S3 Glacier 就会向指定的 SNS 主题发送消息。

    如果您设置了文件库的通知配置,并且在启动任务时也指定了 Amazon SNS 主题,则 S3 Glacier 会向这两个主题发送任务完成消息。

    您可以将 SNS 主题配置为通过电子邮件通知您或者将消息存储在应用程序可以轮询的 Amazon Simple Queue Service (Amazon SQS) 中。当该队列中出现消息时,您可以检查任务是否已成功完成,然后下载任务输出。

  • 显式请求任务信息—S3 Glacier 也提供了描述任务操作 (描述任务(获取任务 ID)),该操作可让您轮询任务信息。您可以定期发送此请求,以获取任务信息。但是,使用 Amazon SNS 通知才是推荐的选择。

注意

您通过 SNS 通知获取的信息与通过调用描述任务获取的信息相同。

关于库存

从您第一次将档案上传到文件库的日期开始,S3 Glacier 大约每天都会更新一次文件库清单。如果在上次清单盘点后没有对文件库执行过添加或删除档案的操作,则不会更新库存日期。当您为文件库清单启动任务时,S3 Glacier 返回其最近一次生成的清单,该清单是时间点快照,而不是实时数据。请注意,S3 Glacier 为文件库创建第一份清单后,通常需要经过半天(最多一天)时间,该清单才可用于检索操作。

您可能没有发现为每个档案上传操作检索文件库清单有什么好处。但是,假设您在客户端维护数据库,且该客户端关联了您上传到 S3 Glacier 的档案的元数据。此时,您可能会发现,文件库库存对于根据需要将您数据库中的信息与实际文件库库存进行协调很有用。您可以通过筛选存档创建日期或设置配额,来限制检索的清单项目数。有关限制清单检索的更多信息,请参阅确定清单检索范围

清单可以按两种格式 (逗号分隔值 (CSV) 或 JSON) 返回。启动清单任务时,您可以选择性地指定格式。默认格式为 JSON。有关清单任务输出中返回的数据字段的更多信息,请参阅“获取任务输出 API”响应正文