全部產品
Search
文件中心

Object Storage Service:使用最後一次修改時間的生命週期規則結合版本控制降低儲存成本

更新時間:Jun 19, 2024

儲存空間(Bucket)開啟版本控制後,針對資料的覆蓋和刪除操作將會以歷史版本的形式儲存下來。當Bucket累積了大量的歷史版本或者到期刪除標記時,您可以結合生命週期規則刪除不必要的歷史版本以及到期刪除標記,從而減少儲存成本並有效提升列舉Object的效能。

前提條件

目標Bucket已開啟版本控制。詳情請參見開啟版本控制

情境說明

當目標儲存空間examplebucket開啟版本控制後,王先生在某一年2月8日上傳了名為example.txt的檔案,此後在同一年份的不同時間內對example.txt檔案進行了多次覆蓋或不指定versionID的刪除操作,OSS對該檔案的每一次覆蓋和刪除操作均產生全域唯一的隨機字串versionID(圖示中的versionID均以簡易版本號碼標識,不代表實際versionID),並將檔案以歷史版本的形式儲存在目標Bucket中。versioning

檔案經多次覆蓋和不指定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。

有關生命週期規則的更多資訊,請參見基於最後一次修改時間的生命週期規則

操作步驟

  1. 保留指定版本檔案

    假設目前時間為9月10日,則通過配置以下生命週期規則可實現僅保留5月8日以及9月10日上傳的檔案版本。

    1. 登入OSS管理主控台

    2. 單擊Bucket 列表,然後單擊examplebucket。

    3. 選擇資料管理 > 生命週期

    4. 單擊創建規則,按如下說明配置生命週期規則,其餘參數保留預設配置。

      地區

      配置項

      配置方法

      基礎設定

      狀態

      選擇啟動

      策略

      選擇設定到整個Bucket

      目前的版本檔案執行原則設定

      檔案時間策略

      選擇清理對象刪除標記

      歷史版本檔案執行原則設定

      檔案時間策略

      選擇指定天數

      生命週期管理規則

      設定為90天,Object會在其被轉換為歷史版本的90天后到期,並在到期的第二天被刪除。

      片段執行原則設定

      碎片過期策略

      選擇指定天數

      片段規則

      設定為90天,因分區上傳產生的片段90天后到期,並在到期的第二天被刪除。

    5. 單擊確定

  2. 恢複指定版本檔案

    將5月8日產生的最新歷史版本檔案恢複為目前的版本的操作步驟如下:

    1. 在examplebucket管理頁面,選擇文件管理>檔案清單

    2. 單擊歷史版本右側的顯示

    3. 找到更新時間為5月8日對應版本的example.txt檔案。

    4. 單擊目標歷史版本右側的恢復

相關文檔

您也可以使用API方式恢複檔案。如果需要恢複Object的早期版本為目前的版本,您只需將Object的早期版本拷貝到同一個Bucket中,OSS會將該Object對應早期版本置為目前的版本。更多資訊,請參見CopyObject