940
魔獸
管理對象生命周期__管理文件_開發人員指南_對象存儲 OSS-阿裏雲
OSS 提供 Object(文件)生命周期管理來為您管理Object。您可以為某個Bucket定義生命周期配置,來為該Bucket的Object定義各種規則。目前,您可以通過規則來刪除相匹配的Object。每條規則都由如下幾個部分組成:
- Object名稱前綴
隻有匹配該前綴的Object才適用這個規則。 - 操作
您希望對匹配的Object所執行的操作。 - 日期或天數
您期望在特定日期或者在Object最後修改時間後多少天執行指定的操作。
隻要Object名稱前綴和一條規則的前綴匹配,那麼該規則就適用於它。例如,一個Bucket有如下幾個Object:
logs/program.log.1
logs/program.log.2
logs/program.log.3
doc/readme.txt
如果一個規則指定的前綴是logs/,那麼該規則就適用於前三個以logs/開頭的Object;如果前綴是doc/readme.txt,那麼這條規則就隻對doc/readme.txt起作用。
當前,規則支持“過期刪除”操作。例如,您可以設置這樣的規則:當前綴為logs/的Object的最後一次更新是30天前,就刪除它們;也可以指定在某年某月某日刪除doc/readme.txt。
當一個Object匹配到某個過期規則時,GET和HEAD該Object時,OSS在響應Header中加入x-oss-expiration頭。它包含了兩個鍵值對:expiry-date的值表示Object的過期日期;rule-id的值表示相匹配的規則ID。
舉例
您可以通過OSS開放接口來設置Bucket的生命周期配置。生命周期配置是由XML格式給出的,下麵是一個具體的例子。
<LifecycleConfiguration>
<Rule>
<ID>delete logs after 10 days</ID>
<Prefix>logs/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>10</Days>
</Expiration>
</Rule>
<Rule>
<ID>delete doc</ID>
<Prefix>doc/</Prefix>
<Status>Disabled</Status>
<Expiration>
<CreatedBeforeDate>2014-12-31T00:00:00.000Z</CreatedBeforeDate>
</Expiration>
</Rule>
</LifecycleConfiguration>
在這個例子中,各個元素的含義如下:
<ID>
:每個規則唯一的標識<Status>
:Enabled或Disabled。OSS隻會應用值為Enabled的規則。<Prefix>
:前綴。<Expiration>
:過期操作。子元素<CreatedBeforeDate>
或<Days>
指定絕對和相對過期時間。- 這裏CreatedBeforeDate表示的含義是:將最後修改時間早於2014-12-31T00:00:00.000Z的文件刪除。晚於這個時間的Object不會被刪除。
- 這裏Days表示的含義是:將相對最後修改時間10天之後的Object刪除。
在這個例子中,第一條規則會刪除前綴為logs/的,最後更新時間是10天前的Object。第二條規則雖然指定了刪除2014年12月31日之前被修改的前綴為doc/的Object,但是由於它的Status是Disabled狀態,所以該規則並不會生效。
細節分析
- 前綴的命名規範和Object一樣。
- 當前綴為空時,表明該規則適用於Bucket裏的所有Object。
- 任意兩個前綴不能有重疊。例如,如果同一Bucket的兩條規則,一個前綴是logs/,一個是logs/program,那麼OSS會返回錯誤。
- 當規則設置為在指定日期刪除Object,該日期必須是UTC午夜零點,並且符合形如2014-01-01T00:00:00.000Z的ISO8601格式。OSS會在當前時間超過2014-01-01午夜零點時刪除匹配的Object。
- 當規則設定為天數時,OSS把Object最後更新時間(Last-Modified)加上天數,再取整到下一個UTC午夜零點。例如,一個Object的最後更新時間是UTC的2014年4月12日上午1點,相匹配的規則定義的天數是3天,那麼過期時間就是UTC 2014年4月16日0點整。
- OSS會在指定時間刪除與規則相匹配的Object。請注意,通常Object會在指定時間稍稍延後一段時間才被刪除。
- 通常Object的最後更新時間和創建時間相差無幾。當一個Object被多次Put時,最後更新時間是最後一次Put的時間;當一個Object被Copy到自身時,最後更新時間是Copy發生時的時間。
功能使用參考
最後更新:2016-11-23 16:04:09
上一篇:
刪除對象__管理文件_開發人員指南_對象存儲 OSS-阿裏雲
下一篇:
管理跨區域複製__管理文件_開發人員指南_對象存儲 OSS-阿裏雲
DescribeTrails__實例相關接口_API參考_操作審計-阿裏雲
DescribeTable__API 概覽_API 參考_表格存儲-阿裏雲
負載均衡計費常見問題___常見問題_負載均衡-阿裏雲
8.3 在BI工具中連接和使用分析型數據庫__第八章 在生產中使用分析型數據庫_使用手冊_分析型數據庫-阿裏雲
鑒權配置__訪問控製_用戶指南_CDN-阿裏雲
分隔符日誌__常見日誌格式_用戶指南_日誌服務-阿裏雲
圖片鑒黃__使用手冊_阿裏綠網-阿裏雲
創建專有網絡__快速入門_專有網絡 VPC-阿裏雲
ListAccessKeys__用戶管理接口_RAM API文檔_訪問控製-阿裏雲
GetConfig__Logtail配置相關接口_API-Reference_日誌服務-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲