Amazon Glacier
开发人员指南 (API 版本 2012-06-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

检索 Amazon Glacier 档案

从 Amazon Glacier 检索档案是一个异步操作,您首先启动任务,然后在任务完成后下载输出。要启动档案检索任务,您可以使用 启动作业(POST 作业) REST API,或者 AWS CLI 或 AWS 开发工具包中的等同命令。

从 Amazon Glacier 检索档案是一个分为两个步骤的过程。

检索档案

  1. 启动档案取回任务。

    1. 获得您要检索的档案的 ID。您可以从文件库清单获取档案 ID。有关更多信息,请参阅 在 Amazon Glacier 中下载文件库清单

    2. 启动任务,请求 Amazon Glacier 为后续下载准备整个档案或档案的一部分。

    当您启动任务时,Amazon Glacier 会在响应中返回任务 ID 并异步执行任务。(如步骤 2 所述,在任务完成之前,您不能下载任务输出。)

    重要

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

  2. 任务完成后,下载字节。

    您可以下载所有字节,或者指定字节范围,只下载任务输出的一部分。对于较大的输出,以区块下载输出的方式在下载失败(例如,由于网络发生故障而失败)时对您有所帮助。如果您在单一请求中获取任务输出,并且网络发生故障,则您不得不从头重新开始下载输出。但是,如果您以区块下载输出,万一发生任何故障,则您只需重新开始下载较小的部分,而不是整个输出。

Amazon Glacier 必须先完成任务,然后,您才能获取其输出。任务在完成后的至少 24 小时内都不会过期,这意味着,您可以在任务完成后的 24 小时期限内下载输出。要确定您的任务是否已完成,请使用以下选项之一检查其状态:

  • 等待任务完成通知 – 您可以指定 Amazon Simple Notification Service (Amazon SNS) 主题。完成任务后,Amazon Glacier 可以向其发布通知。只有在完成任务后,Amazon Glacier 才会发送通知。

    启动任务时,您可以为该任务指定 Amazon SNS 主题。除了在您的任务请求中指定 Amazon SNS 主题以外,如果您的文件库已为档案检索事件设置了通知配置,Amazon Glacier 也会向该 SNS 主题发布通知。有关更多信息,请参阅 在 Amazon Glacier 中配置文件库通知

  • 显式请求任务信息 – 您也可以使用 Amazon Glacier 描述任务操作 (描述任务(获取任务 ID)),以定期轮询任务信息。但是,我们建议使用 Amazon SNS 通知。

注意

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

档案检索选项

在启动检索档案的任务时,您可以根据访问时间和成本需求指定以下选项之一。有关检索定价的信息,请参阅 Amazon Glacier 定价

  • Expedited – 加速检索允许您在偶尔需要紧急请求档案子集时快速访问数据。对于除了最大型档案 (250 MB+) 之外的所有其他档案,使用加速检索访问的数据通常在 1 到 5 分钟内可用。加速检索有两种类型:按需和预配置。按需请求类似于 EC2 按需实例,大部分时间可用。预配置请求可确保在您需要时可用。有关更多信息,请参阅 预配置容量

  • Standard – 标准检索允许您在数小时内访问您的任意档案。标准检索通常在 3 到 5 小时内完成。这是未指定检索选项的检索请求的默认选项。

  • Bulk – 批量检索是 Amazon Glacier 最低成本的检索选项,使您可以在一天内以较低的成本检索大量(甚至是 PB 级)的数据。批量检索通常在 5 到 12 小时内完成。

要进行加速、标准或批量检索,请将 启动作业(POST 作业) REST API 请求中的 Tier 参数设置为您需要的选项,或者在 AWS CLI 或 AWS 软件开发工具包中设置等同参数。您无需为加速检索指定按需或预配置选项。如果您购买了预配置容量,则通过您的预配置容量自动服务所有加速检索。

预配置容量

预配置容量确保在您需要时,可以使用针对加速检索的检索容量。每个容量单位确保每五分钟至少可以执行三个加速检索,并提供高达 150 MB/秒的检索吞吐量。

如果您的工作负载需要极高的稳定性和对数据子集可预测的访问性能 (以分钟为单位),您应该购买预配置检索容量。没有预配置容量的加速检索也可以接受,但是在极少情况下会出现不寻常的高需求。不过,如果您需要随时可以访问加速检索,您必须购买预配置检索容量。

购买预配置容量

您可以使用 Amazon Glacier 控制台、购买预配置容量 (POST provisioned-capacity) REST API、AWS 软件开发工具包或 AWS CLI 购买预配置容量单位。有关预配置容量的定价信息,请参阅 Amazon Glacier 定价

预配置容量单位将持续一个月,以购买日期和时间作为开始日期。此单位过期的日期为开始日期的整整一个月之后 (精确到秒)。

如果开始日期为一个月的第 31 天,过期日期为下个月的最后一天。例如,如果开始日期为 8 月 31 日,则过期日期为 9 月 30 日。如果开始日期为 1 月 31 日,则过期日期为 2 月 28 日。

要使用 Amazon Glacier 控制台购买预配置容量,请选择 Settings,然后选择 Provisioned capacity

 购买预配置的容量映像。

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

 购买预配置的容量映像。

在购买成功之后,您可以再次选择 Buy 以购买额外的容量单位。完成后,请选择 Close

关于限范围的档案检索

当您从 Amazon Glacier 检索档案时,您可以选择性地指定要检索的档案范围(部分)。默认为取回整个档案。如果您要执行以下操作,指定字节范围会很有用:

  • 管理您的数据下载 – Amazon Glacier 允许您在检索请求完成后的 24 小时内下载检索的数据。因此,您可能只想要取回档案的某些部分,以便在给定的下载时间窗内管理下载时间表。

  • 取回大型档案的目标段 – 例如,假设您之前聚集了许多文件并以单一档案的形式上传了这些文件,您现在想取回这些文件中的一些文件。在这种情况下,您可以通过使用一个取回请求指定档案的范围,该范围包含您感兴趣的文件。或者,您可以启动多个取回请求,每个请求均具有一个针对一个或多个文件的范围。

当使用范围取回启动取回任务时,您必须提供以兆字节对齐的范围。也就是说,字节范围可以从零(档案的开头)开始,或者从其后的任何 1MB 间隔(1MB、2MB、3MB,依此类推)处开始。

该范围的结尾可以是您档案的结尾或大于范围开头的任何 1MB 间隔处。此外,如果您要在(取回任务完成后)下载数据时获取校验和值,则您在任务启动中请求的范围还必须以树形哈希对齐。校验和是您可以用来确保数据在传输过程中没有损坏的一种方法。有关兆字节对齐和树形哈希对齐的更多信息,请参阅“下载数据时接收校验和”。