上传档案(发布档案) - Amazon S3 Glacier
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

如果您不熟悉 Amazon Simple Storage Service (Amazon S3) 中的归档存储功能,建议您先详细了解 Amazon S3 中的 S3 Glacier 存储类、S3 Glacier 即时检索S3 Glacier 灵活检索S3 Glacier 深度归档。有关更多信息,请参阅 Amazon S3 用户指南中的 S3 Glacier 存储类和用于存档对象的存储类。

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

上传档案(发布档案)

描述

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

您必须提供您要上传的数据的 SHA256 树形哈希。有关计算 SHA256 树形哈希的信息,请参阅“计算校验和”。

注意

只有使用 API 执行上传档案 (POST archive) 操作才需要 SHA256 树形哈希。使用 Amazon CLI 时不需要。

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

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

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

请求

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

语法

POST /AccountId/vaults/VaultName/archives Host: glacier.Region.amazonaws.com x-amz-glacier-version: 2012-06-01 Date: Date Authorization: SignatureValue x-amz-archive-description: Description x-amz-sha256-tree-hash: SHA256 tree hash x-amz-content-sha256: SHA256 linear hash Content-Length: Length <Request body.>

注意

AccountId 值是拥有文件库的账户的 Amazon Web Services 账户 ID。您可以指定 Amazon Web Services 账户 ID,也可以选择指定“-”(连字符),在这种情况下,Amazon S3 Glacier 使用与用来对请求进行签名的凭证相关联的 Amazon Web Services 账户 ID。如果您使用账户 ID,请勿在 ID 中包含任何连字符 ('-')。

请求参数

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

请求标头

除了所有操作通用的请求标头外,此操作还使用以下请求标头。有关通用请求标头的信息,请参阅常见请求标头

名称 描述 必填
Content-Length

数据元的大小(以字节为单位)。有关更多信息,请转到 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13

类型:数字

默认值:无

限制:无

x-amz-archive-description

您要上传的档案的可选描述。它可以为明语描述或者您选择来分配的某个标识符。描述不需要在所有档案中是唯一的。当您检索文件库清单(请参阅“启动作业(POST 作业)”)时,它会包括因做出响应而返回的每个档案的此描述。

类型:字符串

默认值:无

限制:描述的长度必须小于或等于 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 树形哈希的信息,请参阅“计算校验和”。如果 S3 Glacier 对有效负载进行计算得出不同的有效负载校验和,则会拒绝请求。

类型:字符串

默认值:无

限制:无

请求正文

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

响应

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

语法

HTTP/1.1 201 Created x-amzn-RequestId: x-amzn-RequestId Date: Date x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier Location: Location x-amz-archive-id: ArchiveId

响应标头

除了所有操作通用的响应标头外,成功的响应中还包括以下响应标头。有关通用响应标头的信息,请参阅常用响应标头

名称 描述
Location

新添加的档案资源的相对 URI 路径。

类型:字符串

x-amz-archive-id

档案的 ID。此值也包括在 Location 标头中,作为该标头的一部分。

类型:字符串

x-amz-sha256-tree-hash

S3 Glacier 计算出的档案校验和。

类型:字符串

响应正文

此操作不返回响应正文。

错误

有关 Amazon S3 Glacier 异常和错误消息的信息,请参阅错误响应

示例

示例请求

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

POST /-/vaults/examplevault/archives HTTP/1.1 Host: glacier.us-west-2.amazonaws.com x-amz-Date: 20170210T120000Z x-amz-sha256-tree-hash: beb0fe31a1c7ca8c6c04d574ea906e3f97b31fdca7571defb5b44dca89b5af60 x-amz-content-sha256: 7f2fe580edb35154041fa3d4b41dd6d3adaef0c85d2ff6309f1d4b520eeecda3 Content-Length: 2097152 x-amz-glacier-version: 2012-06-01 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 <Request body (2097152 bytes).>

响应示例

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

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

相关部分