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

此页面仅适用于使用 Vaults 和 2012 年原始 REST API 的 Amazon Glacier 服务的现有客户。

如果您正在寻找档案存储解决方案,我们建议您在亚马逊 S3、S3 Glacier 即时检索、S3 Glacier 灵活检索和 S3 Glacier Deep Archive Deep Archive 中使用 Amazon Glacier 存储类。要了解有关这些存储选项的更多信息,请参阅 Amazon Glacier 存储类别

从 2025 年 12 月 15 日起,Amazon Glacier(最初基于保管库的独立服务)将不再接受新客户,对现有客户不产生任何影响。Amazon Glacier 是一项独立的服务 APIs ,拥有自己的服务,可将数据存储在文件库中,不同于亚马逊 S3 和 Amazon S3 Glacier 存储类别。在 Amazon Glacier 中,您的现有数据将保持安全且可以无限期地访问。无需迁移。对于低成本、长期的存档存储, Amazon 建议使用 Amazon S3 Glacier 存储类别,这些存储类别基于S3存储桶 APIs、完全 Amazon Web Services 区域 可用性、更低的成本和 Amazon 服务集成,可提供卓越的客户体验。如果您想要增强功能,可以考虑使用我们的Amazon 解决方案指南迁移到 Amazon S3 Glacier 存储类别,将数据从 Amazon Glacier 文件库传输到 Amazon S3 Glacier 存储类

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

在 Amazon Glacier 中删除文件库使用 Amazon Command Line Interface

您可以使用 () 删除 Amazon Glacier(Amazon 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. 在命令提示符下输入以下命令来验证您的 Amazon CLI 设置。这些命令没有显式提供凭证,因此将使用默认配置文件的凭证。

    • 尝试使用 help 命令。

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

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

      aws configure list

示例:使用删除空文件库 Amazon CLI

  • 使用 delete-vault 命令删除不包含存档的文件库。

    • aws glacier delete-vault --vault-name awsexamplevault --account-id 111122223333

示例:使用删除非空文件库 Amazon CLI

Amazon Glacier 只有在上次计算库存时文件库中没有任何档案,并且自上次盘点以来没有对文件库进行过写入的情况下,才会删除该文件库。删除非空文件库分为三个步骤: IDs从文件库的库存报告中检索档案,删除每个档案,然后删除文件库。

  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. 等待作业完成。

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

    您可以设置文件库的特定事件的通知配置。有关更多信息,请参阅 在 Amazon Glacier 中配置文件库通知。每当特定事件发生时,Amazon 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": ... ]}
  5. 使用 delete-archive 命令从文件库中删除每个存档,直到不保留任何存档。

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

    如果您的档案 ID 以连字符或其他特殊字符开头,则必须用引号将档案 ID 括起来,才能运行此命令。

  6. 使用 initiate-job 命令启动新的库存检索作业。

    aws glacier initiate-job --vault-name awsexamplevault --account-id 111122223333 --job-parameters '{"Type": "inventory-retrieval"}'
  7. 完成后,使用 delete-vault 命令删除不带存档的文件库。

    aws glacier delete-vault --vault-name awsexamplevault --account-id 111122223333