使用刪除標記 - Amazon Simple Storage Service

使用刪除標記

Amazon S3 中的刪除標記是簡單 DELETE 請求中所指定已使用版本控制之物件的預留位置 (或標記)。因為物件位在已啟用版本控制的儲存貯體中,所以未刪除物件。不過,刪除標記會讓 Amazon S3 表現得像該物件已被刪除一樣。

刪除標記會像任何其他物件一樣,具有金鑰名稱 (或金鑰) 與版本 ID。不過,刪除標記與其他物件的差異如下:

  • 沒有相關聯資料。

  • 未與存取控制清單 (ACL) 值相關聯。

  • GET 要求沒有資料,因此不會從其中擷取任何項目;您會收到 404 錯誤。

  • 您唯一可以在刪除標記上使用的操作是 Amazon S3 API DELETE 呼叫。若要這麼做,您必須使用 AWS Identity and Access Management (IAM) 使用者或具有適當許可的角色提出 DELETE 請求。

刪除標記會累算在 Amazon S3 中因儲存而收取的名目費用中。刪除標記的儲存大小等於刪除標記的金鑰名稱大小。金鑰名稱是一連串的 Unicode 字元。UTF-8 編碼會將 1 到 4 位元組的儲存體新增至名稱中每個字元的儲存貯體。

如需金鑰名稱的詳細資訊,請參閱「建立物件索引鍵名稱」。如需刪除刪除標記的資訊,請參閱「管理刪除標記」。

只有 Amazon S3 才能建立刪除標記,而且只要您對啟用或暫停版本控制的儲存貯體中的物件傳送 DELETE Object 要求,就會這麼做。DELETE 要求中所指定的物件實際上不會予以刪除。相反地,刪除標記會成為物件的目前版本 物件的金鑰名稱 (或金鑰) 會成為刪除標記的金鑰。如果您嘗試取得物件,而且其目前版本是刪除標記,則 Amazon S3 會有如下回應:

  • 404 (找不到物件) 錯誤

  • 回應標頭 x-amz-delete-marker: true

回應標頭會告訴您所存取的物件是刪除標記。此回應標頭絕不會傳回 false。如果值是 false,則 Amazon S3 不會在回應中包含此回應標頭。

下圖顯示物件上的簡單 GET (其目前版本是刪除標記) 如何傳回「404 找不到物件」錯誤。

列出刪除標記 (以及其他版本的物件) 的唯一方式是在 versions 要求中使用 GET Bucket versions 子資源。簡單 GET 不會擷取刪除標記物件。下圖顯示 GET Bucket 要求不會傳回其目前版本是刪除標記的物件。