检索 S3 Glacier 归档 - Simple Storage Service(Amazon S3)Glacier
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

检索 S3 Glacier 归档

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

从 S3 Glacier 检索档案的过程分为两步。

检索档案
  1. 启动档案取回任务。

    1. 获得您要检索的档案的 ID。您可以从文件库清单获取档案 ID。你可以使用 REST API 或Amazon软件开发工具包获取档案 ID。Amazon CLI有关更多信息,请参阅在 Amazon S3 Glacier 中下载文件库清单

    2. 启动一项任务,请求 S3 Glacier 使用该启动作业(POST 作业)操作准备整个档案或部分档案以供后续下载。

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

    重要

    仅适用于标准检索,数据检索策略可能会导致您的Initiate Job请求失败,PolicyEnforcedException但有例外。有关数据检索策略的更多信息,请参阅S3 Glacier 数据检索策略。有关 PolicyEnforcedException 异常的更多信息,请参阅错误响应

    如果需要,您可以还原存储在 S3 Glacier 中的大型数据段。有关从 S3 Glacier 存储类中还原数据的更多信息,请参阅《Amazon Simple Storage Service 用户指南》中的存储

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

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

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 GlacierDescribe Job API 操作 (描述任务(获取任务 ID)) 定期轮询任务信息。但是,我们建议使用 Amazon SNS 通知。

注意

您通过使用 Amazon SNS 通知获得的信息与通过调用Describe Job API 操作获得的信息相同。

档案检索选项

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

  • Expedited-在偶尔需要紧急请求归档的紧急请求存档时快速访问存储在 S3 Glacier Flexible Retrieval 存储类或 S3 Intelligent-Tiering 归档访问层中的数据。对于除最大存档之外的所有其他归档档档档档档案,使用加速检索访问的数据通常在 1 到 5 分钟内可用。预配置容量确保在您需要时,可以使用针对加速检索的检索容量。有关更多信息,请参阅预配置容量

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

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

要进行 Expedited、Standard 或 Bulk 检索,请将启动作业(POST 作业) REST API 请求中的Tier参数设置为您需要的选项,或者在Amazon CLI或Amazon SDK 中执行等效操作。如果您购买了预配置容量,则所有 Expedited 检索都会通过您的预配置容量自动获得处理。

预配置容量

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

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

购买预配置容量

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

预置容量单位的有效期为一个月,从购买之日和时间开始。

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

使用 Amazon S3 Glacier 控制台购买预置容量
  1. 登录Amazon Web Services Management Console并打开 S3 Glacier 控制台,网址为 https://console.aws.amazon.com/glacier/

  2. 在左侧导航窗格中,选择数据检索设置

  3. 预置容量单位 (PCU) 下,选择购买 PCU。此时显示购买 PCU 对话框。

  4. 如果要购买预置容量,请confirm在 “确认购买” 框中输入。

  5. 选择 “购买 PCU”。

关于限范围的档案检索

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

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

  • 检索大型档案的目标部分 — 例如,假设您之前汇总了许多文件并将其上传为单个存档,现在您想要检索其中的几个文件。在这种情况下,您可以使用一个检索请求来指定包含您感兴趣的文件的存档范围。或者,您可以启动多个取回请求,每个请求均具有一个针对一个或多个文件的范围。

当使用范围取回启动取回任务时,您必须提供以兆字节对齐的范围。换句话说,字节范围可以从零(存档的开头)开始,也可以从其后的任意 1 MB 间隔(1 MB、2 MB、3 MB 等等)开始。

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