本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在 Amazon S3 Glacier 中下载文件库清单
您向您的文件库上传第一个档案后,Amazon S3 Glacier (S3 Glacier) 会自动创建文件库清单,然后大约每天更新它一次。S3 Glacier 创建第一份清单后,通常需要经过半天(最多一天)时间,该清单才可用于检索操作。您可以通过以下流程(该流程分为两个步骤)从 S3 Glacier 检索文件库清单:
-
使用 启动作业(POST 作业) 操作启动清单检索任务。
重要 数据检索策略可能导致您启动检索作业的请求失败,并发生
PolicyEnforcedException
异常。有关数据检索策略的更多信息,请参阅S3 Glacier 数据检索策略。有关PolicyEnforcedException
异常的更多信息,请参阅错误响应。 -
在任务完成后,使用 获取任务输出(获取输出) 操作下载字节。
例如,取回档案或文件库清单的操作要求您首先启动取回任务。任务请求会异步运行。当您启动检索作业时,S3 Glacier 会创建作业并在响应中返回作业 ID。S3 Glacier 完成作业时,您可以获取任务输出、档案字节或文件库清单数据。
任务必须先完成,然后,您才能获取其输出。要确定任务的状态,您有以下选择:
-
等待作业完成通知您可以指定 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 返回其最近一次生成的清单,该清单是 point-in-time 快照,而不是实时数据。请注意,S3 Glacier 为文件库创建第一份清单后,通常需要经过半天(最多一天)时间,该清单才可用于检索操作。
您可能没有发现为每个档案上传操作取回文件库清单有什么好处。但是,假设您在客户端维护数据库,且该客户端关联了您上传到 S3 Glacier 的档案的元数据。此时,您可能会发现,文件库库存对于根据需要将您数据库中的信息与实际文件库库存进行协调很有用。您可以通过筛选存档创建日期或设置配额,来限制检索的清单项目数。有关限制清单检索的更多信息,请参阅确定清单检索范围。
清单可以按两种格式 (逗号分隔值 (CSV) 或 JSON) 返回。启动清单任务时,您可以选择性地指定格式。默认格式为 JSON。有关清单任务输出中返回的数据字段的更多信息,请参阅响应正文的获取Job 输出 API.