在 Amazon S3 Glacier 中下载文件库清单 - Amazon S3 Glacier
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

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

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

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

    重要

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

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

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

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

  • 等待作业完成通知您可以指定在完成作业后可以向其发布通知的亚马逊简单通知服务 (Amazon SNS) 主题。您可以使用以下方法指定 Amazon SNS 主题:

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

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

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

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

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

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

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

注意

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

关于库存

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

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

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