全部產品
Search
文件中心

:刪除標記

更新時間:Jun 19, 2024

刪除標記(Delete Marker)是用於受版本控制的對象(Object)的預留位置, 即DELETE請求中命名的標記符。

刪除標記與Object的差異

與其他任何Object一樣,刪除標記同樣有檔案名稱(Key) 和版本ID,但刪除標記在以下方面與其他Object不同:

  • 沒有關聯的資料。

  • 沒有關聯的存取控制清單(ACL)值。

  • 由於刪除標記不包含資料,因此GET請求檢索不到任何內容。如果Object的目前的版本為刪除標記,則對該Object發起GET請求時會返回404錯誤。

  • 僅具有oss:DeleteObjectVersion許可權的RAM使用者才能對刪除標記執行DELETE操作。

對已開啟版本控制或已暫停版本控制的Bucket中的Object發送DeleteObject請求時,OSS將為Object建立刪除標記。如果在DeleteObject請求中未指定Object的版本ID,則不會刪除Object ,而是建立刪除標記作為Object的目前的版本。

說明

無法直接刪除已開啟版本控制的Bucket中的Object ,但刪除標記可以將Object視為已刪除。

如何刪除“刪除標記”

以下內容介紹如何在已開啟版本控制的Bucket中刪除“刪除標記”。

如果在DeleteObject請求中未指定刪除標記的版本ID,則OSS不會刪除“刪除標記”,而是插入刪除標記作為Object的目前的版本。刪除標記可以進行累積,如下圖所示。enable versioning one

說明

在已開啟版本控制的Bucket中,相同的Object可能有多個刪除標記,且刪除標記將對應唯一的版本ID。

如果在DeleteObject請求中指定版本ID ,則該指定版本的Object將被永久刪除,如下圖所示(即刪除versionId=333333的刪除標記,versionId=222222的版本成為Object的目前的版本)。enable versioning

您可以通過Java SDKPython SDKPHP SDKNode.js SDK.NET SDKGo SDKC++ SDK刪除指定版本Object及其刪除標記。