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

此页面仅适用于使用文件库和 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 中,您现有的数据将确保安全,并且可以无限期地访问。无需进行迁移。对于低成本、长期的存档存储,Amazon 建议使用 Amazon S3 Glacier 存储类别,该类别可通过基于 S3 存储桶的 API、完全的 Amazon Web Services 区域可用性、更低的成本和 Amazon 服务集成,提供卓越的客户体验。如果您希望加强功能,可以考虑使用我们的 Amazon 将数据从 Amazon Glacier 文件库传输到 Amazon S3 Glacier 存储类别的解决方案指南,迁移到 Amazon S3 Glacier 存储类别。

使用 Amazon CLI 在 Amazon Glacier 中删除档案

您可以使用 Amazon Command Line Interface(Amazon CLI)删除 Amazon Glacier 中的档案。

(先决条件)设置 Amazon CLI

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

    安装 Amazon Command Line Interface

    配置 Amazon Command Line Interface

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

    • 尝试使用 help 命令。

      aws help
    • 要获取已配置账户上 Amazon 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 命令启动清单检索任务。有关 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 命令检查上一个检索任务的状态。有关 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. 等待任务完成。

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

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

  4. 任务完成后,使用 get-job-output 命令将检索任务下载到文件 output.json。有关 get-job-output 命令的更多信息,请参阅获取任务输出

    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": 123456789 }
  5. 使用 delete-archive 命令从文件库中删除每个档案,直到不保留任何档案。

    aws glacier delete-archive --vault-name awsexamplevault --account-id 111122223333 --archive-id="*** archiveid ***"

有关 delete-archive 命令的更多信息,请参阅删除档案