本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
检索 S3 Glacier 档案
从 Amazon S3 Glacier (S3 Glacier) 检索档案是一个异步操作,您首先启动作业,然后在任务完成后下载输出。要启动档案取回任务,您可以使用启动作业(POST 作业)REST API 或中的等价物Amazon CLI,或者亚马逊 SDK。
从 S3 Glacier 检索档案是一个分为两个步骤的过程。
检索档案
-
启动档案取回任务。
-
获得您要检索的档案的 ID。您可以从文件库清单获取档案 ID。有关更多信息,请参阅 在 Amazon S3 Glacier 中下载文件库清单。
-
启动作业,请求 S3 Glacier 为后续下载准备整个档案或档案的一部分以供后续下载。启动作业(POST 作业)operation.
当您启动作业时,S3 Glacier 会在响应中返回作业 ID 并异步运行作业。(如步骤 2 所述,在任务完成之前,您不能下载任务输出。)
重要 数据检索策略可能导致您启动检索作业的请求失败,并发生
PolicyEnforcedException
异常,但这仅限于标准检索。有关数据检索策略的更多信息,请参阅Amazon S3 Glacier 数据检索策略。有关PolicyEnforcedException
异常的更多信息,请参阅错误响应。如果需要,您可以还原存储在 S3 Glacier 中的大型数据段。例如,您可能希望还原数据以制作辅助副本。但是,如果您需要还原大量数据,请记住,S3 Glacier 设计为每天针对存储的每 PiB 数据允许 35 个随机还原请求。
有关从这些存储类还原数据的更多信息,请参阅用于存档对象的 Amazon S3 存储类
中的Amazon Simple Storage Service 用户指南. -
-
在任务完成后,使用 获取任务输出(获取输出) 操作下载字节。
您可以下载所有字节,或者指定字节范围,只下载任务输出的一部分。对于较大的输出,以区块下载输出的方式在下载失败(例如,由于网络发生故障而失败)时对您有所帮助。如果您在单一请求中获取任务输出,并且网络发生故障,则您不得不从头重新开始下载输出。但是,如果您以区块下载输出,万一发生任何故障,则您只需重新开始下载较小的部分,而不是整个输出。
S3 Glacier 必须先完成作业,然后,您才能获取其输出。任务在完成后的至少 24 小时内都不会过期,这意味着,您可以在任务完成后的 24 小时期限内下载输出。要确定您的任务是否已完成,请使用以下选项之一检查其状态:
-
等待作业完成通知 —您可以指定 Amazon Simple Notification Service (Amazon SNS) 主题,S3 Glacier 可以在任务完成后向其发布通知。S3 Glacier 仅在完成作业后才会发送通知。
启动任务时,您可以为作业指定 Amazon SNS 主题。除了在您的作业请求中指定 Amazon SNS 主题以外,如果您的文件库已为档案检索事件设置了通知配置,则 S3 Glacier 还会向该 SNS 主题发布通知。有关更多信息,请参阅 在 Amazon S3 Glacier 中配置文件库通知。
-
明确要求工作信息 —您还可以使用 S3 Glacier 描述作业操作 (描述任务(获取任务 ID)) 定期调查工作信息。但是,我们建议使用 Amazon SNS 通知。
使用 SNS 通知获取的信息与调用描述任务获取的信息相同。
档案检索选项
在启动检索档案的任务时,您可以根据访问时间和成本需求指定以下选项之一。有关检索定价的信息,请参阅S3 Glacier 定价
-
加速 —在偶尔需要紧急请求归档子集时快速访问存储在 S3 Glacier Flexible Retrieval 存储类或 S3 Intelligent-Tiering 归档访问层中的数据。对于除了最大型存档 (250 MB+) 之外的所有其他存档,使用加速检索访问的数据通常在 1 到 5 分钟内可用。预配置容量确保在您需要时,可以使用针对加速检索的检索容量。有关更多信息,请参阅 预配置容量。
-
标准 —标准检索允许您在数小时内访问您的任意档案。标准检索通常在 3 到 5 小时内完成。这是未指定检索选项的检索请求的默认选项。
-
批量 —批量检索是 S3 Glacier 的最低成本检索选项,您可以使用它在一天内以较低的成本检索大量(甚至是 PB 级)的数据。批量检索通常在 5 到 12 小时内完成。
要进行加急、标准或批量检索,请将Tier
中的参数启动作业(POST 作业)对你想要的选项的 REST API 请求,或者Amazon CLI或者亚马逊 SDK。如果您购买了预配置容量,则通过您的预配置容量自动服务所有加速检索。
预配置容量
预配置容量帮助确保在您需要时,可以使用针对加速检索的检索容量。每个容量单位确保每五分钟至少可以执行三个加速检索,并提供高达 150 MB/秒的检索吞吐量。
如果您的工作负载需要极高的稳定性和对数据子集可预测的访问性能 (以分钟为单位),您应该购买预配置检索容量。没有预配置容量的加速检索也可以接受,但是在极少情况下会出现不寻常的高需求。不过,如果您需要随时可以访问加速检索,您必须购买预配置检索容量。
购买预配置容量
您可以使用 S3 Glacier 控制台(购买预配置容量 (POST provisioned-capacity)REST API、亚马逊软件开发工具包或Amazon CLI. 有关预配置容量的定价信息,请S3 Glacier 定价
预配置容量单位将持续一个月,以购买日期和时间作为开始日期。此单位过期的日期为开始日期的整整一个月之后 (精确到秒)。
如果开始日期为一个月的第 31 天,过期日期为下个月的最后一天。例如,如果开始日期为 8 月 31 日,则过期日期为 9 月 30 日。如果开始日期为 1 月 31 日,则过期日期为 2 月 28 日。
要使用 S3 Glacier 控制台购买预配置容量,请选择设置然后选择预配置容量.

如果您没有任何预配置容量,但是想要购买,请选择 Add 1 capacity unit,然后选择 Buy。

在购买成功之后,您可以再次选择 Buy 以购买额外的容量单位。完成后,请选择 Close。
关于限范围的档案检索
当您从 S3 Glacier 检索档案时,您可以选择性地指定要检索的档案范围或部分。默认为取回整个档案。如果您要执行以下操作,指定字节范围会很有用:
-
管理你的数据下载— S3 Glacier 允许在检索请求完成后的 24 小时内下载检索的数据。因此,您可能只想要取回档案的某些部分,以便在给定的下载时间窗内管理下载时间表。
-
检索大型档案的目标部分— 例如,假设您之前聚合了许多文件并以单一档案的形式上传了这些文件,您现在想检索这些文件中的一些文件。在这种情况下,您可以通过使用一个取回请求指定档案的范围,该范围包含您感兴趣的文件。或者,您可以启动多个取回请求,每个请求均具有一个针对一个或多个文件的范围。
当使用范围取回启动取回任务时,您必须提供以兆字节对齐的范围。也就是说,字节范围可以从零(档案的开头)开始,或者从其后的任何 1MB 间隔(1MB、2MB、3MB,依此类推)处开始。
该范围的结尾可以是您档案的结尾或大于范围开头的任何 1MB 间隔处。此外,如果您要在(取回任务完成后)下载数据时获取校验和值,则您在任务启动中请求的范围还必须以树形哈希对齐。校验和是您可以用来确保数据在传输过程中没有损坏的一种方法。有关兆字节对齐和树形哈希对齐的更多信息,请参阅“下载数据时接收校验和”。