此頁面僅適用於使用 Vaults 和 2012 年原始 REST API 的 S3 Glacier 服務的現有客戶。
如果您要尋找封存儲存解決方案,建議您在 Amazon S3、S3 Glacier S3 Instant Retrieval、S3 Glacier Flexible Retrieval 和 S3 Glacier Deep Archive 中使用 S3 Glacier 儲存類別。若要進一步了解這些儲存選項,請參閱《Amazon S3
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 在 Amazon S3 Glacier 中刪除保存庫 AWS Command Line Interface
您可以使用 AWS Command Line Interface (AWS CLI) 刪除 Amazon S3 Glacier (S3 Glacier) 中的空和不為空的保存庫。
(先決條件) 設定 AWS CLI
-
下載和設定 AWS CLI。如需相關指示,請參閱《AWS Command Line Interface 使用者指南》中的下列主題:
-
在命令提示中輸入下列命令來驗證您的 AWS CLI 設定。這些命令不會明確提供登入資料,因此會使用預設描述檔的登入資料。
-
嘗試使用幫助命令。
aws help
-
若要取得已設定帳戶上 S3 Glacier 保存庫的清單,請使用
list-vaults
命令。將123456789012
取代為您的 AWS 帳戶 ID。aws glacier list-vaults --account-id
123456789012
-
若要查看 的目前組態資料 AWS CLI,請使用
aws configure list
命令。aws configure list
-
範例:使用 刪除空保存庫 AWS CLI
-
使用
delete-vault
指令刪除不包含存檔的文件庫。-
aws glacier delete-vault --vault-name
awsexamplevault
--account-id111122223333
-
範例:使用 刪除非空保存庫 AWS 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 以連字號或其他特殊字元開頭,您必須將封存 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