

 **此页面仅适用于使用文件库和 2012 年原始 REST API 的 Amazon Glacier 服务的现有客户。**

如果您正在寻找归档存储解决方案，建议使用 Amazon S3 中的 Amazon Glacier 存储类别 S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive。要了解有关这些存储选项的更多信息，请参阅 [Amazon Glacier 存储类别](https://aws.amazon.com/s3/storage-classes/glacier/)。

Amazon Glacier（最初基于保管库的独立服务）不再接受新客户。Amazon Glacier 是一项独立的服务 APIs ，拥有自己的服务，可将数据存储在文件库中，不同于亚马逊 S3 和 Amazon S3 Glacier 存储类别。在 Amazon Glacier 中，您现有的数据将确保安全，并且可以无限期地访问。无需进行迁移。对于低成本、长期的存档存储， AWS 建议[使用 Amazon S3 Glacier 存储类别，这些存储类别](https://aws.amazon.com/s3/storage-classes/glacier/)基于S3存储桶 APIs、完全 AWS 区域 可用性、更低的成本和 AWS 服务集成，可提供卓越的客户体验。如果您希望加强功能，可以考虑使用我们的 [AWS 将数据从 Amazon Glacier 文件库传输到 Amazon S3 Glacier 存储类别的解决方案指南](https://aws.amazon.com/solutions/guidance/data-transfer-from-amazon-s3-glacier-vaults-to-amazon-s3/)，迁移到 Amazon S3 Glacier 存储类别。

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

# 什么是 Amazon Glacier？
<a name="introduction"></a>

如果您目前正在使用 Amazon Glacier（Amazon Glacier）服务并想了解更多信息，可在本指南中找到所需的信息。Amazon Glacier 是一项安全、持久的服务，通过使用文件库实现低成本的数据存档和长期备份。有关 Amazon Glacier 服务定价的更多信息，请参阅 [Amazon Glacier 定价](https://aws.amazon.com/s3/glacier/pricing/)。

**Topics**
+ [您目前正在使用 Amazon Glacier 吗？](#are-you-a-firsttime-glacier-user)
+ [Amazon Glacier 数据模型](amazon-glacier-data-model.md)
+ [Amazon Glacier 中支持的操作](amazon-glacier-supported-operations.md)
+ [访问 Amazon Glacier](amazon-glacier-accessing.md)

## 您目前正在使用 Amazon Glacier 吗？
<a name="are-you-a-firsttime-glacier-user"></a>

**注意**  
本部分将介绍 Amazon Glacier 服务。如果您目前使用 Amazon S3 Glacier 存储类别（**S3 Glacier Instant Retrieval**、**S3 Glacier Flexible Retrieval** 和 **S3 Glacier Deep Archive**），请参阅《Amazon S3 用户指南》**中的[存档对象的存储类别](https://docs.aws.amazon.com/AmazonS3/latest/userguide/glacier-storage-classes)。

如果您目前使用 Amazon Glacier 服务并想了解更多信息，建议您先阅读以下部分：

 
+ **什么是 Amazon Glacier** — 本节的其余部分描述了底层数据模型、其支持的操作以及可用于与服务交互的操作。 AWS SDKs 
+ **入门** - [Amazon Glacier 入门](amazon-glacier-getting-started.md)部分将指导您完成创建文件库、上传档案、创建下载档案的任务、检索任务输出以及删除档案的过程。
**重要**  
Amazon Glacier 确实提供了一个控制台。但是，任何存档操作（例如上传、下载或删除）都需要您使用 AWS Command Line Interface (AWS CLI) 或编写代码。存档操作没有控制台支持。例如，要上传数据（例如照片、视频和其他文档），您必须使用 AWS CLI 或编写代码来发出请求，方法是直接使用 REST API 或使用 AWS SDKs。  
要安装 AWS CLI，请参阅[AWS Command Line Interface](https://aws.amazon.com/cli/)。有关将 Amazon Glacier 与 AWS CLI配合使用的更多信息，请参阅 [Amazon Glacier 的AWS CLI 参考](https://docs.aws.amazon.com/cli/latest/reference/glacier/index.html)。有关使用将档案上传 AWS CLI 到 Amazon Glacier 的示例，请参阅将 [Amazon Glacier 与 AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-using-glacier.html) 

除了入门章节之外，您可能还想了解有关 Amazon Glacier 操作的更多信息。以下各节提供了有关使用 REST API 以及 AWS SDKs 适用于 Java 和 Microsoft .NET 的 Amazon Glacier 的详细信息：
+ [AWS SDKs 与 Amazon Glacier 搭配使用](using-aws-sdk.md)

  本节概述了本指南中各种代码示例中 AWS SDKs 使用的代码。回顾此部分将有助于阅读以下部分。它包括对它们 SDKs 提供的高级和低级APIs 的概述、何时使用它们，以及运行本指南中提供的代码示例的常见步骤。
+ [在 Amazon Glacier 中处理文件库](working-with-vaults.md)

  此部分详细介绍了各种文件库操作，例如，创建文件库、检索文件库元数据、使用任务来检索文件库清单，以及配置文件库通知。除了使用 Amazon Glacier 控制台外，您还可以使用 AWS SDKs 进行各种文件库操作。本节介绍了 API，并使用 适用于 Java 的 AWS SDK 和提供了工作示例 适用于 .NET 的 AWS SDK。
+ [在 Amazon Glacier 中处理档案](working-with-archives.md)

  此部分详细介绍了档案操作，例如，在单个请求中上传档案，或者使用分段上传操作来分段上传大型档案。此外，该部分还说明了如何创建任务来异步下载档案的操作。此部分提供了使用 适用于 Java 的 AWS SDK 和 适用于 .NET 的 AWS SDK的示例。
+ [Amazon Glacier 的 API 参考](amazon-glacier-api.md)

  Amazon Glacier 是一项 RESTful 服务。此部分描述了 REST 操作，包括所有操作的语法以及示例请求和响应。S AWS DK 库封装了此 API，从而简化了您的编程任务。

# Amazon Glacier 数据模型
<a name="amazon-glacier-data-model"></a>

Amazon Glacier 数据模型核心组件包括文件库和档案。Amazon Glacier 是一项基于 REST 的 Web 服务。根据 REST，文件库和档案是资源。此外，Amazon Glacier 数据模型还包括任务和通知配置资源。这些资源是对核心资源的补充。

**Topics**
+ [文件库](#data-model-vault)
+ [档案](#data-model-archive)
+ [任务](#data-model-job)
+ [通知配置](#data-model-notification-config)

## 文件库
<a name="data-model-vault"></a>

在 Amazon Glacier 中，*文件库*是用于存储档案的容器。文件库与 Amazon S3 存储桶类似。创建文件库时，需要指定名称并选择要在 AWS 区域 何处创建文件库。

每个文件库资源都有唯一的地址。一般格式为：

```
https://region-specific-endpoint/account-id/vaults/vault-name
```

例如，假设您使用 ID 为 111122223333 的账户在美国西部（俄勒冈州）区域创建一个文件库（`examplevault`）。那么，您可以使用以下 URI 为此文件库编址：

```
https://glacier.us-west-2.amazonaws.com/111122223333/vaults/examplevault
```

以下是 URI 的各个组成部分的含义：
+ `glacier.us-west-2.amazonaws.com` 标识美国西部（俄勒冈州）区域。
+ `111122223333`是拥有文件库的 AWS 账户 ID。
+ `vaults` 是指 AWS 账户拥有的文件库集合。
+ `examplevault` 标识了文件库集合中的特定文件库。

 AWS 账户 可以在任何支持的 AWS 区域存储库中创建文件库。有关支持的列表 AWS 区域，请参阅[访问 Amazon Glacier](amazon-glacier-accessing.md)。在一个区域内，一个账户必须使用唯一的文件库名称。 AWS 账户 可以在不同的区域创建同名文件库。

您可以在文件库中存储无限多个档案。根据您的业务或应用程序需求，您可以将这些档案存储在一个或多个文件库中。

Amazon Glacier 支持各种文件库操作。文件库操作是特定于区域的。例如，创建文件库时，您会在特定的区域创建。当您请求文件库列表时，您需要从特定区域请求文件库 AWS 区域，结果列表仅包含在该特定区域创建的文件库。

## 档案
<a name="data-model-archive"></a>

*档案* 可以是任何数据，例如照片、视频或文档。档案与 Amazon S3 对象类似，是 Amazon Glacier 中的基本存储单位。每个档案都有唯一的 ID 和可选的描述。您只能在上传档案时指定此可选描述。Amazon Glacier 会为档案分配一个 ID，该编号 AWS 区域 在存储档案时是唯一的。

每个档案都有唯一的地址。一般格式如下：

```
https://region-specific-endpoint/account-id/vaults/vault-name/archives/archive-id
```

以下是存储在美国西部（俄勒冈州）区域中账户 111122223333 下的 `examplevault` 文件库中的档案的示例 URI：

```
https://glacier.us-west-2.amazonaws.com/111122223333/vaults/examplevault/archives/NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId
```

您可以在文件库中存储无限多个档案。

## 任务
<a name="data-model-job"></a>

Amazon Glacier 任务可以检索档案，也可以获取文件库的清单。

在 Amazon Glacier 中，检索档案和文件库清单（档案列表）是异步操作，您首先要在其中启动任务，然后在 Amazon Glacier 完成任务后下载任务输出。

**注意**  
Amazon Glacier 提供了冷存储数据存档解决方案。如果您的应用程序需要一套要求进行实时数据检索的存储解决方案，则可以考虑使用 Amazon S3。有关更多信息，请参阅 [Amazon Simple Storage Service（Amazon S3）](https://aws.amazon.com/s3)。

要启动文件库清单任务，您需要提供文件库名称。档案检索任务需要文件库名称和档案 ID。您还可以提供可选的任务描述来帮助标识任务。

档案检索和文件库清单任务与文件库相关联。在任何时间点，一个文件库可以同时进行多个任务。在您发送任务请求（启动任务）时，Amazon Glacier 会向您返回一个任务 ID，以跟踪该任务。每个任务都会由以下格式的 URI 唯一标识：

```
https://region-specific-endpoint/account-id/vaults/vault-name/jobs/job-id
```

以下是与美国西部（俄勒冈州）区域中账户 111122223333 下的 `examplevault` 文件库关联的任务示例。

```
https://glacier.us-west-2.amazonaws.com/111122223333/vaults/examplevault/jobs/HkF9p6o7yjhFx-K3CGl6fuSm6VzW9T7esGQfco8nUXVYwS0jlb5gq1JZ55yHgt5vP54ZShjoQzQVVh7vEXAMPLEjobID
```

对于每个任务，Amazon Glacier 都会保留相关信息，例如，任务类型、描述、创建日期、完成日期以及任务状态。您可以获取有关特定任务的信息，也可以获取与某个文件库相关联的所有任务的列表。Amazon Glacier 返回的任务列表包括所有正在进行的任务以及最近完成的任务。

## 通知配置
<a name="data-model-notification-config"></a>

由于运行任务需要花费时间，因此，Amazon Glacier 支持一种通知机制，以便在任务完成时通知您。您可以将文件库配置为在任务完成时向 Amazon Simple Notification Service（Amazon SNS）主题发送通知。您可以在通知配置中为每个文件库指定一个 Amazon SNS 主题。

Amazon Glacier 会将通知配置存储为 JSON 文档。以下是文件库通知配置示例：

```
{
   "Topic": "arn:aws:sns:us-west-2:111122223333:mytopic", 
   "Events": ["ArchiveRetrievalCompleted", "InventoryRetrievalCompleted"] 
}
```

通知配置与文件库相关联；每个文件库都可以有一个通知配置。每个通知配置资源都会由以下格式的 URI 唯一标识：

```
https://region-specific-endpoint/account-id/vaults/vault-name/notification-configuration
```

Amazon Glacier 支持设置、获取和删除通知配置的操作。如果您删除了通知配置，则针对该文件库的任何数据检索操作完成时，系统都不会发送任何通知。

# Amazon Glacier 中支持的操作
<a name="amazon-glacier-supported-operations"></a>

为了处理文件库和档案（请参阅 [Amazon Glacier 数据模型](amazon-glacier-data-model.md)），Amazon Glacier 支持一组操作。在所有受支持的操作中，只有以下操作是异步操作：
+ 检索档案
+ 检索文件库清单（档案列表）

这些操作要求您先启动任务，然后下载任务输出。以下部分概述了 Amazon Glacier 操作：

## 文件库操作
<a name="vault-ops-intro"></a>

Amazon Glacier 提供了创建和删除文件库的操作。您可以获取特定文件库或 AWS 区域中所有文件库的文件库描述。文件库描述提供创建日期、文件库中的档案数、文件库中所有档案使用的总大小（以字节为单位）以及 Amazon Glacier 生成文件库清单的日期等信息。Amazon Glacier 还提供了用于在文件库中设置、检索和删除通知配置的操作。有关更多信息，请参阅[在 Amazon Glacier 中处理文件库](working-with-vaults.md)。

## 归档操作
<a name="archive-ops-intro"></a>

Amazon Glacier 为您提供了上传和删除档案的操作。您无法更新现有的档案；您必须删除现有的档案，然后上传新档案。您每次上传档案时，Amazon Glacier 都会生成新的档案 ID。有关更多信息，请参阅[在 Amazon Glacier 中处理档案](working-with-archives.md)。

## 作业
<a name="job-ops-intro"></a>

您可以启动 Amazon Glacier 任务以对档案执行检索或获取文件库的清单。

下面是 Amazon Glacier 任务的类型：
+ `archive-retrieval` - 检索档案。

  有关更多信息，请参阅[在 Amazon Glacier 中下载档案](downloading-an-archive.md)。
+ `inventory-retrieval` - 清点文件库。

  有关更多信息，请参阅[在 Amazon Glacier 中下载文件库清单](vault-inventory.md)。

# 访问 Amazon Glacier
<a name="amazon-glacier-accessing"></a>

Amazon Glacier 是一项 RESTful 网络服务，它使用 HTTP 和 HTTPS 作为传输协议，使用JavaScript 对象表示法 (JSON) 作为消息序列化格式。您的应用程序代码可以直接向 Amazon Glacier Web 服务 API 发送请求。在直接使用 REST API 时，您必须编写必要的代码来对您的请求签名以及验证您的请求。有关 API 的更多信息，请参阅 [Amazon Glacier 的 API 参考](amazon-glacier-api.md)。

或者，您可以使用封装 Amazon Glacier REST API 调用的方法来简化应用程序开发。 AWS SDKs 您提供证书后，这些库会处理身份验证和请求登录事宜。有关如何使用 AWS SDKs的更多信息，请参阅[AWS SDKs 与 Amazon Glacier 搭配使用](using-aws-sdk.md)。

此外，Amazon Glacier 确实提供了一个控制台。但是，所有存档和任务操作都需要您直接使用 REST API 或 AWS SDK 包装器库来编写代码和发出请求。要访问 Amazon Glacier 控制台，请转到 [Amazon Glacier 控制台](https://console.aws.amazon.com/glacier/home)。

## 区域和端点
<a name="regions-and-endpoints-intro"></a>

您在特定的文件库中创建文件库 AWS 区域。您始终要将 Amazon Glacier 请求发送到特定于 AWS 区域的端点。有关 Amazon Glacier 支持的 AWS 区域 列表，请参阅《AWS 一般参考》**中的 [Amazon Glacier 端点和配额](https://docs.aws.amazon.com/general/latest/gr/glacier-service.html)。