此页面仅适用于使用文件库和 2012 年原始 REST API 的 Amazon Glacier 服务的现有客户。
如果您正在寻找归档存储解决方案,建议使用 Amazon S3 中的 Amazon Glacier 存储类别 S3 Glacier Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive。要了解有关这些存储选项的更多信息,请参阅 Amazon Glacier 存储类别
从 2025 年 12 月 15 日起,Amazon Glacier(最初基于独立文件库的服务)将不再接受新客户,对现有客户不存在任何影响。Amazon Glacier 是一项独立服务,拥有自己的 API,可将数据存储在文件库中,与 Amazon S3 和 Amazon S3 Glacier 存储类别不同。在 Amazon Glacier 中,您现有的数据将确保安全,并且可以无限期地访问。无需进行迁移。对于低成本、长期的存档存储,AWS 建议使用 Amazon S3 Glacier 存储类别
上传段(PUT uploadID)
描述
此分段上传操作会上传档案的一段。您可以按任何顺序上传档案段,因为在您的上传段请求中,您会指定将在此段中上传的所组装档案的字节范围。此外,您还可以并行上传这些段。您可以为一个分段上传最多上传 10000 段。
有关分段上传的信息,请参阅分段上传大型档案(分段上传)。
如果以下任何条件成立,则 Amazon Glacier(Amazon Glacier)会拒绝您的上传段请求:
-
SHA256 树形哈希不匹配 – 为了确保段数据在传输中不会损坏,您可以计算段的 SHA256 树形哈希,并将它包括在您的请求中。收到段数据后,Amazon Glacier 也会计算 SHA256 树形哈希。如果这两个哈希值不匹配,则操作会失败。有关计算 SHA256 树形哈希的信息,请参阅计算校验和。
-
SHA256 线性哈希不匹配 – 由于授权需要,请计算整个上传的有效载荷的 SHA256 线性哈希,并将其包括在您的请求中。有关计算 SHA256 线性哈希的信息,请参阅计算校验和。
-
段大小不匹配 – 除了最后一段以外,每一段的大小必须与相应的启动分段上传(POST multipart-uploads)请求中指定的大小相匹配。最后一段的大小必须是与指定大小相同的大小或者小于指定大小。
注意
如果您上传一段,其大小小于您在启动分段上传请求中指定的段大小,并且该段不是最后一段,则上传段请求会成功。但是,后续的完成分段上传请求会失败。
-
范围未对齐 – 请求中的字节范围值未与相应启动请求中指定的段大小对齐。例如,如果您指定 4194304 字节 (4 MB) 的段大小,则 0 到 4194303 字节 (4 MB —1) 以及 4194304 (4 MB) 到 8388607 (8 MB —1) 为有效的段范围。但是,如果您将范围值设置为 2 MB 到 6 MB,则范围与段大小未对齐,上传将失败。
此操作是幂等的。如果您多次上传相同的段,则包括在最近请求中的数据会覆盖之前上传的数据。
请求
您将该 HTTP PUT 请求发送到启动分段上传请求返回的上传 ID 的 URI。Amazon Glacier 使用上传 ID 将段上传与特定的分段上传关联起来。请求必须包括段数据的 SHA256 树形哈希(x-amz-SHA256-tree-hash 标头)、整个有效载荷的 SHA256 线性哈希(x-amz-content-sha256 标头)、字节范围(Content-Range 标头)以及段的字节长度(Content-Length 标头)。
语法
PUT /AccountId/vaults/VaultName/multipart-uploads/uploadIDHTTP/1.1 Host: glacier.Region.amazonaws.com Date:DateAuthorization:SignatureValueContent-Range:ContentRangeContent-Length:PayloadSizeContent-Type: application/octet-stream x-amz-sha256-tree-hash:Checksum of the partx-amz-content-sha256:Checksum of the entire payloadx-amz-glacier-version: 2012-06-01
注意
AccountId 值是拥有文件库的账户的 AWS 账户 ID。您可以指定 AWS 账户 ID,也可以选择指定“-”(连字符),在这种情况下,Amazon Glacier 使用与用来对请求进行签名的凭证相关联的 AWS 账户 ID。如果您使用账户 ID,请勿在 ID 中包含任何连字符(-)。
请求参数
此操作不使用请求参数。
请求标头
除了所有操作通用的请求标头外,此操作还使用以下请求标头。有关通用请求标头的更多信息,请参阅通用请求标头。
| 名称 | 描述 | 是否必需 |
|---|---|---|
Content-Length
|
标识段的长度(以字节为单位)。 类型:字符串 默认值:无 约束:无 |
否 |
Content-Range
|
标识将在此段中上传的所组装档案中的字节范围。Amazon Glacier 使用此信息按正确的顺序组装档案。此标头的格式遵循 RFC 2616 类型:字符串 默认值:无 约束:范围不能大于您在启动分段上传时指定的段大小。 |
是 |
x-amz-content-sha256
|
上传的有效载荷的 SHA256 校验和(线性哈希)。这不是您在 类型:字符串 默认值:无 约束:无 |
是 |
x-amz-sha256-tree-hash
|
指定要上传的数据的 SHA256 树形哈希。有关计算 SHA256 树形哈希的信息,请参阅计算校验和。 类型:字符串 默认值:无 约束:无 |
是 |
请求正文
请求正文包含要上传的数据。
响应
成功上传段后,Amazon Glacier 返回 204 No Content 响应。
语法
HTTP/1.1 204 No Content x-amzn-RequestId: x-amzn-RequestId Date: Date x-amz-sha256-tree-hash: ChecksumComputedByAmazonGlacier
响应标头
除了所有操作通用的响应标头外,成功的响应中还包括以下响应标头。有关通用响应标头的更多信息,请参阅通用响应标头。
| 名称 | 描述 |
|---|---|
x-amz-sha256-tree-hash
|
Amazon Glacier 为上传的段计算的 SHA256 树形哈希。 类型:字符串 |
响应正文
此操作不返回响应正文。
示例
以下请求会上传一个 4 MB 的段。请求设置了字节范围,使它作为档案中的第一段。
请求示例
示例发送 HTTP PUT 请求,以上传一个 4 MB 的段。该请求会发送到启动分段上传请求返回的上传 ID 的 URI。Content-Range 标头将该段标识为档案的第一个 4 MB 数据段。
PUT /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range:bytes 0-4194303/* x-amz-sha256-tree-hash:c06f7cd4baacb087002a99a5f48bf953 x-amz-content-sha256:726e392cb4d09924dbad1cc0ba3b00c3643d03d14cb4b823e2f041cff612a628 Content-Length: 4194304 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
上传下一段的步骤相同;但是,您必须计算您要上传的段的新 SHA256 树形哈希,并且还必须指定新的字节范围以指示该段在最终汇编中的位置。以下请求会使用相同的上传 ID 来上传另一段。该请求会指定之前请求后档案的下一个 4 MB 以及 4 MB 的段大小。
PUT /-/vaults/examplevault/multipart-uploads/OW2fM5iVylEpFEMM9_HpKowRapC3vn5sSL39_396UW9zLFUWVrnRHaPjUJddQ5OxSHVXjYtrN47NBZ-khxOjyEXAMPLE HTTP/1.1 Host: glacier.us-west-2.amazonaws.com Date: Wed, 10 Feb 2017 12:00:00 GMT Content-Range:bytes 4194304-8388607/* Content-Length: 4194304 x-amz-sha256-tree-hash:f10e02544d651e2c3ce90a4307427493 x-amz-content-sha256:726e392cb4d09924dbad1cc0ba3b00c3643d03d14cb4b823e2f041cff612a628 x-amz-glacier-version: 2012-06-01 Authorization: Authorization=AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20120525/us-west-2/glacier/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date;x-amz-glacier-version, Signature=16b9a9e220a37e32f2e7be196b4ebb87120ca7974038210199ac5982e792cace
可以按任何顺序上传段。Amazon Glacier 会使用每一段的范围说明来确定组装这些段的顺序。
响应示例
HTTP/1.1 204 No Content x-amzn-RequestId: AAABZpJrTyioDC_HsOmHae8EZp_uBSJr6cnGOLKp_XJCl-Q x-amz-sha256-tree-hash: c06f7cd4baacb087002a99a5f48bf953 Date: Wed, 10 Feb 2017 12:00:00 GMT
相关部分