使用 在 Amazon S3 Glacier 中刪除保存庫 AWS Command Line Interface - Amazon S3 Glacier

此頁面僅適用於使用 Vaults 和 2012 年原始 REST API 的 S3 Glacier 服務的現有客戶。

如果您要尋找封存儲存解決方案,建議您在 Amazon S3、S3 Glacier S3 Instant RetrievalS3 Glacier Flexible RetrievalS3 Glacier Deep Archive 中使用 S3 Glacier 儲存類別。若要進一步了解這些儲存選項,請參閱《Amazon S3 使用者指南》中的使用 S3 Glacier 儲存類別的 S3 Glacier 儲存類別和長期資料儲存Amazon S3 這些儲存類別使用 Amazon S3 API,可在所有區域使用,並且可在 Amazon S3 主控台中管理。它們提供 Storage Cost Analysis、Storage Lens、進階選用加密功能等功能。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 在 Amazon S3 Glacier 中刪除保存庫 AWS Command Line Interface

您可以使用 AWS Command Line Interface (AWS CLI) 刪除 Amazon S3 Glacier (S3 Glacier) 中的空和不為空的保存庫。

(先決條件) 設定 AWS CLI

  1. 下載和設定 AWS CLI。如需相關指示,請參閱《AWS Command Line Interface 使用者指南》中的下列主題:

    安裝 AWS Command Line Interface

    設定 AWS Command Line Interface

  2. 在命令提示中輸入下列命令來驗證您的 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-id 111122223333

範例:使用 刪除非空保存庫 AWS CLI

只有在截至上次計算的庫存為止,保存庫中沒有任何封存,而且自上次清點以來,未對保存庫進行任何寫入時,S3 Glacier 才會刪除保存庫。刪除非空的文件庫有三個步驟:從文件庫的清查報告擷取存檔 ID、刪除每個存檔,然後刪除文件庫。

  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 Simple Notification Service (Amazon SNS) 主題,則 S3 Glacier 會在完成工作後向該主題傳送訊息。

    您可以為文件庫中的特定事件設定通知組態。如需詳細資訊,請參閱在 Amazon S3 Glacier 中設定文件庫通知。無論何時發生特定事件,S3 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