此页面仅适用于使用 Vaults 和 2012 年原始 REST API 的 Amazon Glacier 服务的现有客户。
如果您正在寻找档案存储解决方案,我们建议您在亚马逊 S3、S3 Glacier 即时检索、S3 Glacier 灵活检索和 S3 Glacier Deep Archive Deep Archive 中使用 Amazon Glacier 存储类。要了解有关这些存储选项的更多信息,请参阅 Amazon Glacier 存储类别
从 2025 年 12 月 15 日起,Amazon Glacier(最初基于保管库的独立服务)将不再接受新客户,对现有客户不产生任何影响。Amazon Glacier 是一项独立的服务 APIs ,拥有自己的服务,可将数据存储在文件库中,不同于亚马逊 S3 和 Amazon S3 Glacier 存储类别。在 Amazon Glacier 中,您的现有数据将保持安全且可以无限期地访问。无需迁移。对于低成本、长期的存档存储, AWS 建议使用 Amazon S3 Glacier 存储类别,这些存储类别
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS SDKs 与 Amazon Glacier 搭配使用
AWS 允许您 SDKs 为 Amazon Glacier 开发应用程序。软件开发工具包库封装了底层的 Amazon Glacier API,从而简化了您的编程任务。例如,对于发送到 Amazon Glacier 的每个请求,您都必须包含签名才能对您的请求进行身份验证。使用软件开发工具包库时,您只需要在代码中提供 AWS 安全证书,这些库会计算出必要的签名并将其包含在发送给 Amazon Glacier 的请求中。它们 AWS SDKs 提供了映射到底层 REST API 的库,并提供了可用于轻松构造请求和处理响应的对象。
主题
AWS Command Line Interface (AWS CLI) 是用于管理您 AWS 服务的(包括 Amazon Glacier)的统一工具。有关下载的信息 AWS CLI,请参阅AWS Command Line Interface
AWS Java 和.NET 的 SDK 库
AWS SDKs 适用于 Java 和.NET 的提供了高级和低级封装库。
您可以使用本开发者指南中的 适用于 Java 的 AWS SDK 和来查找使用 Amazon Glacier 的 适用于 .NET 的 AWS SDK 示例。
什么是低级 API?
低级包装器库与 Amazon Glacier 支持的底层 REST API (亚马逊 Glacier 的 API 参考) 紧密映射。对于每个 Amazon Glacier REST 操作,低级 API 都提供了相应的方法、一个请求对象供您提供请求信息,以及一个响应对象供您处理 Amazon Glacier 响应。低级包装器库是底层 Amazon Glacier 操作的最完整实现。
有关这些软件开发工具包库的信息,请参阅适用于 Java 的 AWS SDK 与 Amazon Glacier 搭配使用和适用于 .NET 的 AWS SDK 与 Amazon Glacier 搭配使用。
什么是高级 API?
为了进一步简化应用程序开发,这些库为某些操作提供了更高级的抽象。例如:
-
上传档案—要使用低级 API 上传档案,则除了文件名以及您要在其中保存档案的文件库名称以外,您还需要提供有效负载的校验和(SHA-256 树形哈希)。但是,高级 API 会为您计算校验和。
-
下载档案或文件库清单—要使用低级 API 下载档案,您首先要启动任务,等待任务完成,然后获取任务输出。您需要编写其他代码来设置亚马逊简单通知服务 (Amazon SNS) Simple Notification Service 主题,以便在任务完成时通知您。此外,您还需要使用某个轮询机制来检查任务完成消息是否已发布到该主题。该高级 API 提供了用于下载档案的方法,该方法会处理所有的这些步骤。您只需指定档案 ID 以及您要保存下载的数据的文件夹路径。
有关这些软件开发工具包库的信息,请参阅适用于 Java 的 AWS SDK 与 Amazon Glacier 搭配使用和适用于 .NET 的 AWS SDK 与 Amazon Glacier 搭配使用。
何时使用高级和低级 API?
通常,如果高级 API 提供了您执行操作所需的方法,则您应使用高级 API,因为这样比较简单。但是,如果高级 API 没有提供该功能,则您可以使用低级 API。此外,低级 API 还允许对操作进行粒度控制(例如,在操作失败时执行重试逻辑)。例如,上传档案时,高级 API 会使用文件大小来确定是在单一操作中上传档案,还是使用分段上传 API。此外,该 API 还具有内置的重试逻辑,可以在上传失败时执行。但是,您的应用程序可能需要对这些决定进行粒度控制,在这种情况下,您可以使用低级 API。