儲存空間(Bucket)開啟版本控制後,針對資料的覆蓋和刪除操作將會以歷史版本的形式儲存下來。當Bucket累積了大量的歷史版本或者到期刪除標記時,您可以結合生命週期規則刪除不必要的歷史版本以及到期刪除標記,從而減少儲存成本並有效提升列舉Object的效能。
前提條件
目標Bucket已開啟版本控制。詳情請參見開啟版本控制。
情境說明
當目標儲存空間examplebucket開啟版本控制後,王先生在某一年2月8日上傳了名為example.txt的檔案,此後在同一年份的不同時間內對example.txt檔案進行了多次覆蓋或不指定versionID的刪除操作,OSS對該檔案的每一次覆蓋和刪除操作均產生全域唯一的隨機字串versionID(圖示中的versionID均以簡易版本號碼標識,不代表實際versionID),並將檔案以歷史版本的形式儲存在目標Bucket中。
檔案經多次覆蓋和不指定versionID的刪除操作後,結合業務情境的變化,王先生需實現如下需求:
僅保留5月8日以及9月10日上傳的檔案版本。
將5月8日產生的最新歷史版本檔案恢複為目前的版本。
注意事項
使用生命週期到期策略管理不同版本Object時,有如下注意事項:
目前的版本Object到期策略
在開啟版本控制的情況下,如果生命週期規則中的到期策略作用於目前的版本Object,OSS會添加刪除標記將目前的版本Object作為歷史版本Object保留,而不是刪除目前的版本Object,且刪除標記將成為Object的目前的版本。
在暫停版本控制的情況下,如果生命週期規則中的到期策略作用於目前的版本Object,OSS會添加刪除標記作為目前的版本,且versionID為null。由於OSS保證同一個Object只會有一個versionID為null的版本,因此原versionID為null的版本將被覆蓋。
歷史版本Object到期策略
在開啟或暫停版本控制的情況下,如果生命週期規則中的到期策略作用於歷史版本Object,OSS會永久刪除歷史版本Object,且無法恢複永久刪除的歷史版本Object。
有關生命週期規則的更多資訊,請參見基於最後一次修改時間的生命週期規則。
操作步驟
保留指定版本檔案
假設目前時間為9月10日,則通過配置以下生命週期規則可實現僅保留5月8日以及9月10日上傳的檔案版本。
恢複指定版本檔案
將5月8日產生的最新歷史版本檔案恢複為目前的版本的操作步驟如下:
在examplebucket管理頁面,選擇文件管理>檔案清單。
單擊歷史版本右側的顯示。
找到更新時間為5月8日對應版本的example.txt檔案。
單擊目標歷史版本右側的恢復。
相關文檔
您也可以使用API方式恢複檔案。如果需要恢複Object的早期版本為目前的版本,您只需將Object的早期版本拷貝到同一個Bucket中,OSS會將該Object對應早期版本置為目前的版本。更多資訊,請參見CopyObject。