刪除標記(Delete Marker)是用於受版本控制的對象(Object)的預留位置,即DELETE請求中命名的標記符。瞭解刪除標記有助於管理Object Storage Service中的版本控制,確保在刪除對象時能夠正確處理和恢複資料。
刪除標記與Object的差異
刪除標記與其他Object一樣,有檔案名稱(Key)和版本ID,但在以下方面不同:
沒有關聯的資料。
沒有關聯的存取控制清單(ACL)值。
由於刪除標記不包含資料,因此GET請求無法檢索內容。如果Object的目前的版本是刪除標記,則GET請求會返回404錯誤。
只有具有
oss:DeleteObjectVersion許可權的RAM使用者才能對刪除標記執行DELETE操作。
在已開啟或暫停版本控制的Bucket中發送DeleteObject請求時,OSS會為Object建立刪除標記。如果未指定版本ID,則不會刪除Object,而是建立刪除標記作為目前的版本。
無法直接刪除已開啟版本控制的Bucket中的Object,但刪除標記可以將Object視為已刪除。
如何刪除“刪除標記”
以下內容介紹如何在已開啟版本控制的Bucket中刪除“刪除標記”。
如果在DeleteObject請求中未指定版本ID,OSS會插入刪除標記作為Object的目前的版本,刪除標記可以累積。如下圖所示。
在已開啟版本控制的Bucket中,相同的Object可能有多個刪除標記,每個刪除標記對應唯一的版本ID。
如果在DeleteObject請求中指定版本ID ,則該指定版本的Object將被永久刪除,如下圖所示(即刪除versionId=333333的刪除標記,versionId=222222的版本成為Object的目前的版本)。
您可以通過Java SDK、Python SDK、PHP SDK、Node.js SDK、.NET SDK、Go SDK、C++ SDK刪除指定版本Object及其刪除標記。