本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
刪除啟用版本控制功能之儲存貯體中的物件
您可以隨時從 Amazon S3 儲存貯體中刪除物件版本。針對明確定義生命週期的物件,您還可以定義生命週期組態規則,以要求 Amazon S3 讓目前物件版本過期,或永久移除非目前的物件版本。當您的儲存貯體已啟用版本控制或版本控制暫停時,生命週期組態動作的運作方式如下:
-
此
Expiration
動作會套用至目前物件版本。Amazon S3 並不會刪除目前物件版本,而是新增刪除標記,將目前版本保留為非目前版本,這之後會成為目前版本。 -
NoncurrentVersionExpiration
動作會套用至非目前物件版本,而 Amazon S3 會永久移除這些物件版本。您無法復原永久移除的物件。
如需 S3 生命週期的詳細資訊,請參閱 管理物件的生命週期 和 S3 生命週期組態的範例。
若要查看您的儲存貯體有多少個目前和非目前物件版本,您可以使用 Amazon S3 Storage Lens 指標。S3 Storage Lens 是一種雲端儲存體分析功能,您可以用來了解整個組織使用物件儲存體的情況及其活動情形。如需詳細資訊,請參閱使用 S3 Storage Lens 最佳化儲存成本。如需完整的指標清單,請參閱 S3 Storage Lens 指標詞彙表。
注意
一般 Amazon S3 費率適用於儲存和傳輸的物件的每個版本,包括非目前物件版本。如需詳細資訊,請參閱 Simple Storage Service (Amazon S3) 定價
刪除要求使用案例
DELETE
要求的使用案例如下:
-
啟用版本控制時,簡單
DELETE
無法永久刪除物件。(簡單DELETE
請求是指未指定版本 ID 的請求。) 相反地,Amazon S3 會在儲存貯體中插入刪除標記,而該刪除標記會成為具有新 ID 的目前物件版本。當您嘗試其目前版本為刪除標記的
GET
物件時,Amazon S3 的行為就如同已刪除物件 (即使尚未清除也是一樣) 並傳回 404 錯誤。如需詳細資訊,請參閱使用刪除標記。下圖顯示簡單
DELETE
不會實際移除指定的物件。相反地,Amazon S3 會插入刪除標記。 -
若要永久刪除已使用版本控制的物件,您必須使用
DELETE Object versionId
。下圖顯示刪除所指定的物件版本會永久移除該物件。
刪除物件版本
您可以使用主控台 AWS SDKs、 API或 刪除 Amazon S3 REST 中的物件版本 AWS Command Line Interface。
登入 AWS Management Console 並在 開啟 Amazon S3 主控台https://console.aws.amazon.com/s3/
。 -
在 Buckets (儲存貯體) 清單中,選擇包含該物件的儲存貯體名稱。
-
在 Objects (物件) 清單中,選擇物件的名稱。
-
選擇 Versions (版本)。
Amazon S3 會顯示該物件的所有版本。
-
選取要永久刪除版本之 Version ID (版本 ID) 旁邊的核取方塊。
-
選擇 Delete (刪除)。
-
在 Permanently delete objects? (永久刪除物件?) 中輸入
permanently delete
。警告
永久刪除物件版本的動作無法復原。
-
選擇 Delete objects (刪除物件)。
Amazon S3 刪除物件版本。
如需使用適用於 Java、. NET和 的 AWS SDKs刪除物件的範例PHP,請參閱 刪除 Amazon S3 物件。從未使用版本控制和啟用版本控制的儲存貯體中刪除物件的範例相同。但是,對於啟用版本控制的儲存貯體,Amazon S3 會指派一個版本號碼。否則,版本編號會是空值。
如需使用其他 的相關資訊 AWS SDKs,請參閱AWS 開發人員中心
刪除物件的特定版本
-
在
DELETE
中,指定版本 ID。
範例 — 刪除特定版本
下列範例會刪除 photo.gif
的 UIORUnfnd89493jJFJ
版本。
DELETE /photo.gif?versionId=UIORUnfnd89493jJFJ HTTP/1.1 Host: bucket.s3.amazonaws.com Date: Wed, 12 Oct 2009 17:50:00 GMT Authorization: AWS AKIAIOSFODNN7EXAMPLE:xQE0diMbLRepdf3YB+FIEXAMPLE= Content-Type: text/plain Content-Length: 0
下列命令會將名為 test.txt 的物件從名為
的儲存貯體中刪除。若要移除特定版本的物件,您必須是儲存貯體擁有者,且必須使用版本 ID 子資源。amzn-s3-demo-bucket1
aws s3api delete-object --bucket
amzn-s3-demo-bucket1
--key test.txt --version-idversionID
如需詳細資訊,delete-object
請參閱 delete-object 在 AWS CLI 命令參考 中。
如需刪除物件版本的詳細資訊,請參閱下列主題: