

 **此页面仅适用于使用文件库和 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 存储类别。

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

# 档案操作
<a name="archive-operations"></a>

以下是可供在 Amazon Glacier 中使用的档案操作。

**Topics**
+ [删除档案（DELETE archive）](api-archive-delete.md)
+ [上传档案（POST archive）](api-archive-post.md)

# 删除档案（DELETE archive）
<a name="api-archive-delete"></a>

## 描述
<a name="api-archive-delete-description"></a>

此操作会从文件库中删除档案。您可以从文件库一次删除一个档案。要删除档案，您必须在删除请求中提供档案 ID。您可以通过下载包含下载档案的文件库的文件库清单来获取档案 ID。有关下载文件库清单的更多信息，请参阅[在 Amazon Glacier 中下载文件库清单](vault-inventory.md)。

在删除档案后，您仍可能成功请求启动对已删除档案的检索任务，但档案检索任务会失败。

在您删除档案时，对相应档案 ID 正在进行的档案检索可能成功，也可能不成功，具体取决于下面的场景：

 
+ 如果 Amazon Glacier（Amazon Glacier）收到删除档案请求时，档案检索任务正在积极地为下载准备数据，则档案检索操作可能会失败。
+ 如果 Amazon Glacier 收到删除档案请求时，档案检索任务已成功地为下载准备好档案，则您将能够下载输出。

有关档案检索的更多信息，请参阅[在 Amazon Glacier 中下载档案](downloading-an-archive.md)。

此操作是幂等的。尝试删除已删除的档案不会导致错误。

## 请求
<a name="api-archive-delete-requests"></a>

要删除档案，您需要向档案资源 URI 发送 `DELETE` 请求。

### 语法
<a name="api-archive-delete-requests-syntax"></a>

```
1. DELETE /AccountId/vaults/VaultName/archives/ArchiveID HTTP/1.1
2. Host: glacier.Region.amazonaws.com
3. x-amz-Date: Date
4. Authorization: SignatureValue
5. x-amz-glacier-version: 2012-06-01
```

 

**注意**  
`AccountId` 值是拥有文件库的账户的 AWS 账户 ID。您可以指定 AWS 账户 ID，也可以选择指定“`-`”（连字符），在这种情况下，Amazon Glacier 使用与用来对请求进行签名的凭证相关联的 AWS 账户 ID。如果您使用账户 ID，请勿在 ID 中包含任何连字符（-）。

### 请求参数
<a name="api-archive-delete-requests-parameters"></a>

此操作不使用请求参数。

### 请求标头
<a name="api-archive-delete-requests-headers"></a>

此操作仅使用所有操作通用的请求标头。有关通用请求标头的信息，请参阅[通用请求标头](api-common-request-headers.md)。

### 请求正文
<a name="api-archive-delete-requests-elements"></a>

此操作没有请求正文。

## 响应
<a name="api-archive-delete-responses"></a>

### 语法
<a name="api-archive-delete-responses-syntax"></a>

```
HTTP/1.1 204 No Content
x-amzn-RequestId: x-amzn-RequestId
Date: Date
```

### 响应标头
<a name="api-archive-delete-responses-headers"></a>

此操作仅使用大多数响应通用的响应标头。有关通用响应标头的信息，请参阅[通用响应标头](api-common-response-headers.md)。

### 响应正文
<a name="api-archive-delete-responses-elements"></a>

此操作不返回响应正文。

### 错误
<a name="api-archive-delete-responses-errors"></a>

有关 Amazon Glacier 异常和错误消息的信息，请参阅[错误响应](api-error-responses.md)。

## 示例
<a name="api-archive-delete-examples"></a>

以下示例展示了如何从名为 `examplevault` 的文件库删除档案。

### 请求示例
<a name="api-archive-delete-example-request"></a>

要删除的档案的 ID 被指定为 `archives` 的子资源。

```
1. DELETE /-/vaults/examplevault/archives/NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId HTTP/1.1
2. Host: glacier.us-west-2.amazonaws.com
3. x-amz-Date: 20170210T120000Z
4. x-amz-glacier-version: 2012-06-01
5. Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-date;x-amz-glacier-version,Signature=9257c16da6b25a715ce900a5b45b03da0447acf430195dcb540091b12966f2a2
```

### 响应示例
<a name="api-archive-delete-example-response"></a>

如果请求成功，则 Amazon Glacier 会做出 `204 No Content` 的响应，以表示已删除档案。

```
1. HTTP/1.1 204 No Content
2. x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q
3. Date: Wed, 10 Feb 2017 12:00:00 GMT
```

## 相关部分
<a name="related-sections-archive-delete"></a>

 
+ [启动分段上传（POST multipart-uploads）](api-multipart-initiate-upload.md)
+ [上传档案（POST archive）](api-archive-post.md)
+ [适用于 Amazon Glacier 的 Identity and Access Management](security-iam.md)

# 上传档案（POST archive）
<a name="api-archive-post"></a>

## 描述
<a name="api-archive-post-description"></a>

此操作会向文件库添加档案。对于成功的上传，您的数据会持久保留。作为响应，Amazon Glacier（Amazon Glacier）在响应的 `x-amz-archive-id` 标头中返回档案 ID。您应保存返回的档案 ID，以便在以后访问档案。

您必须提供您要上传的数据的 SHA256 树形哈希。有关计算 SHA256 树形哈希的信息，请参阅[计算校验和](checksum-calculations.md)。

**注意**  
只有使用 API 执行上传档案（POST archive）操作才需要 SHA256 树形哈希。使用 AWS CLI 时不需要。

上传档案时，您可以选择指定最多包含 1024 个可打印 ASCII 字符的档案描述。检索档案或获取文件库清单时，Amazon Glacier 会返回档案描述。Amazon Glacier 不会以任何方式解读描述。档案描述不需要是唯一的。您不能使用描述来检索档案列表或者对档案列表进行排序。

除了可选的档案描述以外，Amazon Glacier 不支持档案的任何附加元数据。档案 ID 是字符的不透明序列，您无法从其推断有关档案的任何含意。因此，您可能会在客户端维护有关档案的元数据。有关更多信息，请参阅[在 Amazon Glacier 中处理档案](working-with-archives.md)。

档案是不可变的。上传档案后，您无法编辑档案或其描述。

## 请求
<a name="api-archive-post-requests"></a>

要上传档案，您可以使用 HTTP `POST` 方法，并将请求纳入到您要在其中保存档案的文件库的 `archives` 子资源。请求必须包括档案有效载荷大小和校验和（SHA256 树形哈希），并且可以选择性地包括档案的描述。

### 语法
<a name="api-archive-post-requests-syntax"></a>

```
 1. POST /AccountId/vaults/VaultName/archives
 2. Host: glacier.Region.amazonaws.com
 3. x-amz-glacier-version: 2012-06-01
 4. Date: Date
 5. Authorization: SignatureValue
 6. x-amz-archive-description: Description
 7. x-amz-sha256-tree-hash: SHA256 tree hash
 8. x-amz-content-sha256: SHA256 linear hash
 9. Content-Length: Length
10. 
11. <Request body.>
```

 

**注意**  
`AccountId` 值是拥有文件库的账户的 AWS 账户 ID。您可以指定 AWS 账户 ID，也可以选择指定“`-`”（连字符），在这种情况下，Amazon Glacier 使用与用来对请求进行签名的凭证相关联的 AWS 账户 ID。如果您使用账户 ID，请勿在 ID 中包含任何连字符（-）。

### 请求参数
<a name="api-archive-post-requests-parameters"></a>

此操作的实施不使用请求参数。

### 请求标头
<a name="api-archive-post-requests-headers"></a>

除了所有操作通用的请求标头外，此操作还使用以下请求标头。有关通用请求标头的更多信息，请参阅[通用请求标头](api-common-request-headers.md)。


|  名称  |  描述  |  是否必需  | 
| --- | --- | --- | 
| Content-Length  |  数据元的大小（以字节为单位）。有关更多信息，请转到 [http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html\$1sec14.13](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13)。 类型：数字 默认值：无 约束：无  |  是  | 
| x-amz-archive-description  |  您要上传的档案的可选描述。它可以为明语描述或者您选择来分配的某个标识符。描述不需要在所有档案中是唯一的。当您检索文件库清单（请参阅[启动任务（POST jobs）](api-initiate-job-post.md)）时，它会包括因做出响应而返回的每个档案的此描述。 类型：字符串 默认值：无 约束：描述的长度必须小于或等于 1024 个字符。允许的字符为不含控制代码的 7 位 ASCII 字符，明确说来就是 ASCII 值为 32-126（十进制）或 0x20-0x7E（十六进制）的字符。  |  否  | 
| x-amz-content-sha256  |  有效载荷的 SHA256 校验和（线性哈希）。这不是您在 `x-amz-sha256-tree-hash` 标头中指定的相同值。 类型：字符串 默认值：无 约束：无  |  是  | 
|  x-amz-sha256-tree-hash  |  用户计算的有效载荷的校验和（SHA256 树形哈希）。有关计算 SHA256 树形哈希的信息，请参阅[计算校验和](checksum-calculations.md)。如果 Amazon Glacier 对有效载荷进行计算得出不同的有效载荷校验和，则会拒绝请求。 类型：字符串 默认值：无 约束：无  |  是 | 

### 请求正文
<a name="api-archive-post-requests-elements"></a>

请求正文包含要上传的数据。

## 响应
<a name="api-archive-post-responses"></a>

 作为响应，Amazon Glacier 持久地存储档案，并返回档案 ID 的 URI 路径。

### 语法
<a name="api-archive-post-response-syntax"></a>

```
1. HTTP/1.1 201 Created
2. x-amzn-RequestId: x-amzn-RequestId
3. Date: Date
4. x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier
5. Location: Location
6. x-amz-archive-id: ArchiveId
```

### 响应标头
<a name="api-archive-post-responses-headers"></a>

除了所有操作通用的响应标头外，成功的响应中还包括以下响应标头。有关通用响应标头的更多信息，请参阅[通用响应标头](api-common-response-headers.md)。


|  名称  |  描述  | 
| --- | --- | 
|  Location  |  新添加的档案资源的相对 URI 路径。 类型：字符串  | 
|  x-amz-archive-id  |  档案的 ID。此值也包括在 `Location` 标头中，作为该标头的一部分。 类型：字符串  | 
|  x-amz-sha256-tree-hash​  |  Amazon Glacier 计算出的档案校验和。 类型：字符串  | 

### 响应正文
<a name="api-archive-post-responses-elements"></a>

此操作不返回响应正文。

### 错误
<a name="api-archive-post-responses-errors"></a>

有关 Amazon Glacier 异常和错误消息的信息，请参阅[错误响应](api-error-responses.md)。

## 示例
<a name="api-archive-post-examples"></a>

### 请求示例
<a name="api-archive-post-examples-request"></a>

以下示例显示了上传档案的请求。

```
 1. POST /-/vaults/examplevault/archives HTTP/1.1
 2. Host: glacier.us-west-2.amazonaws.com
 3. x-amz-Date: 20170210T120000Z
 4. x-amz-sha256-tree-hash: beb0fe31a1c7ca8c6c04d574ea906e3f97b31fdca7571defb5b44dca89b5af60
 5. x-amz-content-sha256: 7f2fe580edb35154041fa3d4b41dd6d3adaef0c85d2ff6309f1d4b520eeecda3
 6. Content-Length: 2097152
 7. x-amz-glacier-version: 2012-06-01
 8. Authorization: Authorization=AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20141123/us-west-2/glacier/aws4_request,SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version,Signature=16b9a9e220a37e32f2e7be196b4ebb87120ca7974038210199ac5982e792cace
 9. 
10. <Request body (2097152 bytes).>
```

### 响应示例
<a name="api-archive-post-examples-response"></a>

以下成功响应具有 `Location` 标头，您可以从中获取 Amazon Glacier 分配给档案的 ID。

```
1. HTTP/1.1 201 Created
2. x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q
3. Date: Wed, 10 Feb 2017 12:00:00 GMT
4. x-amz-sha256-tree-hash: beb0fe31a1c7ca8c6c04d574ea906e3f97b31fdca7571defb5b44dca89b5af60
5. Location: /111122223333/vaults/examplevault/archives/NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId
6. x-amz-archive-id: NkbByEejwEggmBz2fTHgJrg0XBoDfjP4q6iu87-TjhqG6eGoOY9Z8i1_AUyUsuhPAdTqLHy8pTl5nfCFJmDl2yEZONi5L26Omw12vcs01MNGntHEQL8MBfGlqrEXAMPLEArchiveId
```

## 相关部分
<a name="related-sections-api-archive-post"></a>

 
+ [在 Amazon Glacier 中处理档案](working-with-archives.md)
+ [分段上传大型档案（分段上传）](uploading-archive-mpu.md)
+ [删除档案（DELETE archive）](api-archive-delete.md)
+ [适用于 Amazon Glacier 的 Identity and Access Management](security-iam.md)