使用最后一次修改時間的生命周期規(guī)則結(jié)合版本控制降低存儲成本
存儲空間(Bucket)開啟版本控制后,針對數(shù)據(jù)的覆蓋和刪除操作將會以歷史版本的形式保存下來。當(dāng)Bucket累積了大量的歷史版本或者過期刪除標記時,您可以結(jié)合生命周期規(guī)則刪除不必要的歷史版本以及過期刪除標記,從而減少存儲成本并有效提升列舉Object的性能。
前提條件
目標Bucket已開啟版本控制。詳情請參見開啟版本控制。
場景說明
當(dāng)目標存儲空間examplebucket開啟版本控制后,王先生在某一年2月8日上傳了名為example.txt的文件,此后在同一年份的不同時間內(nèi)對example.txt文件進行了多次覆蓋或不指定versionID的刪除操作,OSS對該文件的每一次覆蓋和刪除操作均生成全局唯一的隨機字符串versionID(圖示中的versionID均以簡易版本號標識,不代表實際versionID),并將文件以歷史版本的形式保存在目標Bucket中。
文件經(jīng)多次覆蓋和不指定versionID的刪除操作后,結(jié)合業(yè)務(wù)場景的變化,王先生需實現(xiàn)如下需求:
僅保留5月8日以及9月10日上傳的文件版本。
將5月8日生成的最新歷史版本文件恢復(fù)為當(dāng)前版本。
注意事項
使用生命周期過期策略管理不同版本Object時,有如下注意事項:
當(dāng)前版本Object過期策略
在開啟版本控制的情況下,如果生命周期規(guī)則中的過期策略作用于當(dāng)前版本Object,OSS會添加刪除標記將當(dāng)前版本Object作為歷史版本Object保留,而不是刪除當(dāng)前版本Object,且刪除標記將成為Object的當(dāng)前版本。
在暫停版本控制的情況下,如果生命周期規(guī)則中的過期策略作用于當(dāng)前版本Object,OSS會添加刪除標記作為當(dāng)前版本,且versionID為null。由于OSS保證同一個Object只會有一個versionID為null的版本,因此原versionID為null的版本將被覆蓋。
歷史版本Object過期策略
在開啟或暫停版本控制的情況下,如果生命周期規(guī)則中的過期策略作用于歷史版本Object,OSS會永久刪除歷史版本Object,且無法恢復(fù)永久刪除的歷史版本Object。
有關(guān)生命周期規(guī)則的更多信息,請參見基于最后一次修改時間的生命周期規(guī)則。
操作步驟
保留指定版本文件
假設(shè)當(dāng)前時間為9月10日,則通過配置以下生命周期規(guī)則可實現(xiàn)僅保留5月8日以及9月10日上傳的文件版本。
登錄OSS管理控制臺。
單擊Bucket 列表,然后單擊examplebucket。
選擇
。單擊創(chuàng)建規(guī)則,按如下說明配置生命周期規(guī)則,其余參數(shù)保留默認配置。
區(qū)域
配置項
配置方法
基礎(chǔ)設(shè)置
狀態(tài)
選擇啟動。
策略
選擇配置到整個Bucket。
當(dāng)前版本文件執(zhí)行策略設(shè)置
文件時間策略
選擇清理對象刪除標記。
歷史版本文件執(zhí)行策略設(shè)置
文件時間策略
選擇指定天數(shù)。
生命周期管理規(guī)則
設(shè)置為90天,Object會在其被轉(zhuǎn)換為歷史版本的90天后過期,并在過期的第二天被刪除。
碎片執(zhí)行策略設(shè)置
碎片過期策略
選擇指定天數(shù)。
碎片規(guī)則
設(shè)置為90天,因分片上傳產(chǎn)生的碎片90天后過期,并在過期的第二天被刪除。
單擊確定。
恢復(fù)指定版本文件
將5月8日生成的最新歷史版本文件恢復(fù)為當(dāng)前版本的操作步驟如下:
在examplebucket管理頁面,選擇文件管理>文件列表。
單擊歷史版本右側(cè)的顯示。
找到更新時間為5月8日對應(yīng)版本的example.txt文件。
單擊目標歷史版本右側(cè)的恢復(fù)。
相關(guān)文檔
您也可以使用API方式恢復(fù)文件。如果需要恢復(fù)Object的早期版本為當(dāng)前版本,您只需將Object的早期版本拷貝到同一個Bucket中,OSS會將該Object對應(yīng)早期版本置為當(dāng)前版本。更多信息,請參見CopyObject。