使用 Amazon Command Line Interface 在 Amazon S3 Glacier 中下载文件库清单 - 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 Command Line Interface 在 Amazon S3 Glacier 中下载文件库清单

按照以下步骤操作,使用 Amazon Command Line Interface (Amazon CLI) 在 Amazon S3 Glacier (S3 Glacier) 中下载库存清单。

(先决条件)设置 Amazon CLI

  1. 下载并配置 Amazon CLI。有关说明,请参阅《Amazon Command Line Interface 用户指南》中的以下主题:

    安装 Amazon Command Line Interface

    配置 Amazon Command Line Interface

  2. 在命令提示符处输入以下命令来验证 Amazon CLI 设置。这些命令没有显式提供凭证,因此将使用默认配置文件的凭证。

    • 尝试使用 help 命令。

      aws help
    • 要获取已配置账户上 S3 Glacier 文件库的列表,请使用 list-vaults 命令。将 123456789012 替换为您自己的 Amazon Web Services 账户 ID。

      aws glacier list-vaults --account-id 123456789012
    • 要查看 Amazon CLI 的当前配置数据,请使用 aws configure list 命令。

      aws configure list

示例:使用 Amazon CLI 下载文件库清单

  1. 使用 initiate-job 命令启动清单检索作业。

    aws glacier initiate-job --vault-name awsexamplevault --account-id 111122223333 --job-parameters='{"Type": "inventory-retrieval"}'

    预期输出:

    { "location": "/111122223333/vaults/awsexamplevault/jobs/*** jobid ***", "jobId": "*** jobid ***" }
  2. 使用 describe-job 命令检查上一个检索作业的状态。

    aws glacier describe-job --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid ***

    预期输出:

    { "InventoryRetrievalParameters": { "Format": "JSON" }, "VaultARN": "*** vault arn ***", "Completed": false, "JobId": "*** jobid ***", "Action": "InventoryRetrieval", "CreationDate": "*** job creation date ***", "StatusCode": "InProgress" }
  3. 等待任务完成。

    您必须等到任务输出已作好供您下载的准备。S3 Glacier 完成任务后,任务 ID 至少在 24 小时内都不会过期。如果您在文件库中设置了通知配置,或者在启动任务时指定了 Amazon Simple Notification Service (Amazon SNS) 主题,则 S3 Glacier 会在完成任务后向该主题发送消息。

    您可以设置文件库的特定事件的通知配置。有关更多信息,请参阅在 Amazon S3 Glacier 中配置文件库通知。只要发生特定事件,S3 Glacier 就会向指定的 SNS 主题发送消息。

  4. 完成后,使用 get-job-output 命令将检索作业下载到文件 output.json

    aws glacier get-job-output --vault-name awsexamplevault --account-id 111122223333 --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": ... ]}