使用在 Amazon S3 Glacier 中下载档案Amazon CLI - Simple Storage Service(Amazon S3)Glacier
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

使用在 Amazon S3 Glacier 中下载档案Amazon CLI

您可以使用在 Amazon S3 Glacier (S3 Glacier) 中下载档案Amazon Command Line Interface(Amazon CLI)。

(先决条件)设置 Amazon CLI

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

    安装 Amazon Command Line Interface

    配置 Amazon Command Line Interface

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

    • 尝试使用 help 命令。

      aws help
    • 使用 aws s3 ls 获取所配置账户的存储桶列表。

      aws s3 ls
    • 使用 aws configure list 查看当前配置数据。

      aws configure list

例如:使用下载档案Amazon CLI

注意

为了下载档案,你必须知道你的档案 ID。步骤 1-4 将检索您的档案 ID。如果您已知道要下载档案 ID,则跳至步骤 5。

  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检查上一个命令inventory-retrieval任务命令。

    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. 等待任务完成。

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

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

  4. 完成后,使用 get-job-output 命令将检索作业下载到文件 output.json。此文件将包含您的档案 ID。

    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": ... ]}
  5. 使用initiate-job命令从文件库中启动每个存档的检索过程。你需要将 job 参数指定为archive-retrieval如下面所示。

    aws glacier initiate-job --vault-name awsexamplevault --account-id 111122223333 --job-parameters "{\"Type\":\"archive-retrieval\"}" --archiveId *** archiveId ***
  6. 等待archive-retrieval待完成任务。使用describe-job命令检查上一个命令的状态。

    aws glacier describe-job --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid ***
  7. 上述作业完成后,请使用get-job-output命令来下载你的档案。

    aws glacier get-job-output --vault-name awsexamplevault --account-id 111122223333 --job-id *** jobid *** output_file_name