此页面仅适用于使用保管库的 S3 Glacier 服务的现有客户以及 2012 年以RESTAPI来的原始客户。
如果您正在寻找档案存储解决方案,我们建议您在亚马逊 S3、S3 Glacier 即时检索、S3 Glacier 灵活检索和 S3 Glacier Deep Archive Dee p Archive 中使用 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
-
下载并配置 Amazon CLI。有关说明,请参阅《Amazon Command Line Interface 用户指南》中的以下主题:
-
在命令提示符处输入以下命令来验证 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 删除空文件库
-
使用
delete-vault
命令删除不包含存档的文件库。-
aws glacier delete-vault --vault-name
awsexamplevault
--account-id111122223333
-
示例:使用 Amazon CLI 删除非空文件库
只有在自上次计算的清单起文件库中没有任何档案,并且自上次清单盘点以来没有对文件库执行过任何写入操作时,S3 Glacier 才会删除文件库。删除非空文件库是一个三步骤过程:从文件库的清单报告中检索存档 ID、删除每个存档,然后删除文件库。
-
使用
initiate-job
命令启动清单检索作业。aws glacier initiate-job --vault-name
awsexamplevault
--account-id111122223333
--job-parameters='{"Type": "inventory-retrieval"}'预期输出:
{ "location": "/
111122223333
/vaults/awsexamplevault
/jobs/*** jobid ***
", "jobId": "*** jobid ***
" } -
使用
describe-job
命令检查上一个检索作业的状态。aws glacier describe-job --vault-name
awsexamplevault
--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) 主题,则 S3 Glacier 会在完成任务后向该主题发送消息。
您可以设置文件库的特定事件的通知配置。有关更多信息,请参阅在 Amazon S3 Glacier 中配置文件库通知。只要发生特定事件,S3 Glacier 就会向指定的 SNS 主题发送消息。
-
完成后,使用
get-job-output
命令将检索作业下载到文件output.json
。aws glacier get-job-output --vault-name
awsexamplevault
--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": ... ]} -
使用
delete-archive
命令从文件库中删除每个存档,直到不保留任何存档。aws glacier delete-archive --vault-name
awsexamplevault
--account-id111122223333
--archive-id="*** archiveid ***
"注意
如果您的档案 ID 以连字符或其他特殊字符开头,则需要将其放在引号中才能运行此命令。
-
使用
initiate-job
命令启动新的库存检索作业。aws glacier initiate-job --vault-name
awsexamplevault
--account-id111122223333
--job-parameters='{"Type": "inventory-retrieval"}' -
完成后,使用
delete-vault
命令删除不带存档的文件库。aws glacier delete-vault --vault-name
awsexamplevault
--account-id111122223333