此页面仅适用于使用文件库和 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 存储类别
使用 AWS CLI 在 Amazon Glacier 中下载档案
您可以使用 AWS Command Line Interface(AWS CLI)在 Amazon Glacier(Amazon Glacier)中下载档案。
(先决条件)设置 AWS CLI
-
下载并配置 AWS CLI。有关说明,请参阅《AWS Command Line Interface 用户指南》中的以下主题:
-
在命令提示符处输入以下命令来验证 AWS CLI 设置。这些命令没有显式提供凭证,因此将使用默认配置文件的凭证。
-
尝试使用 help 命令。
aws help -
要获取已配置账户上 Amazon Glacier 文件库的列表,请使用
list-vaults命令。将123456789012替换为您自己的 AWS 账户 ID。aws glacier list-vaults --account-id123456789012 -
要查看 AWS CLI 的当前配置数据,请使用
aws configure list命令。aws configure list
-
示例:使用 AWS CLI 下载档案
注意
要下载档案,您必须知道档案 ID。步骤 1-4 将检索档案 ID。如果您已经知道要下载的档案 ID,请跳至第 5 步。
-
使用
initiate-job命令启动清单检索任务。清单报告将列出您的档案 ID。aws glacier initiate-job --vault-nameawsexamplevault--account-id111122223333--job-parameters="{\"Type\":\"inventory-retrieval\"}"预期输出:
{ "location": "/111122223333/vaults/awsexamplevault/jobs/*** jobid ***", "jobId": "*** jobid ***" } -
使用
describe-job命令检查上一个任务的状态。aws glacier describe-job --vault-nameawsexamplevault--account-id111122223333--job-id*** jobid ***预期输出:
{ "InventoryRetrievalParameters": { "Format": "JSON" }, "VaultARN": "*** vault arn ***", "Completed": false, "JobId": "*** jobid ***", "Action": "InventoryRetrieval", "CreationDate": "*** job creation date ***", "StatusCode": "InProgress" } -
等待任务完成。
您必须等到任务输出已作好供您下载的准备。如果您在文件库中设置了通知配置,或者在启动任务时指定了 Amazon Simple Notification Service(Amazon SNS)主题,则 Amazon Glacier 会在完成任务后向该主题发送消息。
您可以设置文件库的特定事件的通知配置。有关更多信息,请参阅在 Amazon Glacier 中配置文件库通知。只要发生特定事件,Amazon Glacier 就会向指定的 SNS 主题发送消息。
-
完成后,使用
get-job-output命令将检索任务下载到文件output.json。此文件将包含您的档案 ID。aws glacier get-job-output --vault-nameawsexamplevault--account-id111122223333--job-id*** jobid ***output.json此命令会生成一个包含以下字段的文件。
{ "VaultARN":"arn:aws:glacier:region:111122223333:vaults/awsexamplevault", "InventoryDate":"*** job completion date ***", "ArchiveList":[ {"ArchiveId":"*** archiveid ***", "ArchiveDescription":*** archive description (if set) ***, "CreationDate":"*** archive creation date ***", "Size":"*** archive size (in bytes) ***", "SHA256TreeHash":"*** archive hash ***" } {"ArchiveId": ... ]} -
使用
initiate-job命令启动检索文件库中每个档案的过程。您需要指定任务参数,如下面所示的archive-retrieval。aws glacier initiate-job --vault-nameawsexamplevault--account-id111122223333--job-parameters="{\"Type\":\"archive-retrieval\",\"ArchiveId\":\"*** archiveId ***\"}" -
等待
archive-retrieval任务完成。使用describe-job命令检查上一个命令的状态。aws glacier describe-job --vault-nameawsexamplevault--account-id111122223333--job-id*** jobid *** -
完成上述任务后,使用
get-job-output命令下载您的档案。aws glacier get-job-output --vault-nameawsexamplevault--account-id111122223333--job-id*** jobid ***output_file_name