本文檔提供多個常見的生命週期配置樣本,以便您更好地使用生命週期規則管理您儲存空間(Bucket)內的檔案(Object)。
單個篩選條件
每個生命週期規則都包含至少一個篩選條件,篩選條件可用於確定Bucket中適用生命週期規則的部分或所有Object。以下生命週期配置顯示了如何指定篩選條件的樣本。
樣本1:達到指定天數後轉儲和刪除指定首碼的Object
在此生命週期配置規則中,篩選條件指定了prefix為doc/
,此規則將應用於prefix為doc/
的Object,例如doc/test1.txt
和doc/test2.jpg
等Object,並指定在Object最後修改時間超過180天后將其轉換為IA儲存類型(Transition操作)、在Object最後修改時間超過365天后將其刪除(Expiration操作)。
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>test-rule0</ID> <Prefix>doc/</Prefix> <Status>Enabled</Status> <Transition> <Days>180</Days> <StorageClass>IA</StorageClass> </Transition> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。
樣本2:達到指定天數後刪除Bucket內的所有Object
指定生命週期規則應用於某個Bucket內的所有Object,並指示該Bucket內的所有Object在距其最後修改時間超過300天后到期。
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>test-rule1</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <Days>300</Days> </Expiration> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。
樣本3:達到指定日期後刪除Bucket內的所有Object
指定生命週期規則應用於某個Bucket內的所有Object(即Prefix為空白),並指示該Bucket內的所有最後修改時間早於2023年12月30日的Object到期。
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>test-rule0</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <CreatedBeforeDate>2023-12-30T00:00:00.000Z</CreatedBeforeDate> </Expiration> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。
重疊的篩選條件
以下說明了篩選條件重疊的情況下,是否造成生命週期操作衝突的情況。
樣本1:基於重疊首碼的生命週期操作(無衝突)
假設您配置了包含兩個指定重疊首碼的生命週期規則,規則詳情如下:
規則1:指定名為test/的Prefix,並指定Object距其最後修改時間超過30天后轉換為Archive儲存類型。
規則2:指定針對整個Bucket(即Prefix為空白),並指定Object距其最後修改時間超過365天后全部刪除。
執行結果:由於規則無衝突,因此規則1和規則2指定的行為均生效。
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>test-rule1</ID> <Prefix>test/</Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>Archive</StorageClass> </Transition> </Rule> <Rule> <ID>test-rule2</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。
規則1
規則2
樣本2:基於標籤篩選的生命週期操作(衝突)
假設您指定了兩條生命週期規則,規則詳情如下:
規則1:指定了基於標籤的篩選條件(tag1/value1),並指定Object在其最後修改時間超過180天后轉換為IA儲存類型。
規則2:指定了基於標籤的篩選條件(tag2/value2),並指定Object在其最後修改時間超過10天后到期。
執行條件:存在帶有兩組標籤的Object,即兩個規則都將應用於相同Object。
執行結果:Object將在其最後修改時間超過10天后到期。Object被刪除後,轉換儲存類型操作將不再有效。因此,僅規則2中指定的到期行為生效。
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>test-rule1</ID> <Prefix></Prefix> <Tag> <Key>tag1</Key> <Value>value1</Value> </Tag> <Status>Enabled</Status> <Transition> <Days>180</Days> <StorageClass>IA</StorageClass> </Transition> </Rule> <Rule> <ID>test-rule2</ID> <Prefix></Prefix> <Tag> <Key>tag2</Key> <Value>value2</Value> </Tag> <Status>Enabled</Status> <Expiration> <Days>10</Days> </Expiration> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。
規則1
規則2
樣本3:基於相同時間的生命週期操作(衝突)
假設您指定了兩條生命週期規則,規則詳情如下:
規則1:指定將最後一次修改時間超過365天的Object轉為低頻訪問類型。
規則2:指定將最後一次修改時間超過365天的Object刪除。
執行結果:規則命中的Object將在距離其最後一次修改時間超過365天后刪除。
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>rule1</ID> <Prefix></Prefix> <Status>Enabled</Status> <Transition> <Days>365</Days> <StorageClass>IA</StorageClass> </Transition> </Rule> <Rule> <ID>rule2</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。
規則1
規則2
樣本4:基於重疊首碼且指向相同行為的生命週期操作(衝突)
假設您指定了兩條生命週期規則,規則詳情如下:
規則1:指定首碼為logs/的Object距其最後修改時間超過180天后轉為低頻訪問類型。
規則2:指定當前Bucket中的所有Object距其最後修改時間超過30天后轉為低頻訪問類型。
執行結果:該Bucket中的所有Object距其最後修改時間超過30天后轉為低頻訪問類型。
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>rule1</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <Transition> <Days>180</Days> <StorageClass>IA</StorageClass> </Transition> </Rule> <Rule> <ID>rule2</ID> <Prefix></Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>IA</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。
規則1
規則2
禁用生命週期規則
假設您指定了兩條生命週期規則,規則詳情如下:
規則1(禁用):指定首碼為
logs/
的Object,並在其建立100天后轉換為IA儲存類型。規則2(啟用):指定首碼為
documents/
的Object,並在其建立50天后轉換為Archive儲存類型。
執行結果:僅<Status>處於Enabled(啟用)狀態的規則生效。
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>test-rule1</ID> <Prefix>logs/</Prefix> <Status>Disabled</Status> <Transition> <Days>100</Days> <StorageClass>IA</StorageClass> </Transition> </Rule> <Rule> <ID>test-rule2</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <Transition> <Days>50</Days> <StorageClass>Archive</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。
規則1
規則2
結合版本控制的生命週期規則
假設您有一個啟用了版本控制的Bucket,即該Bucket內的每個Object都有一個目前的版本以及零個或零個以上的非目前的版本。有關版本控制的更多資訊請參見版本控制概述。
樣本1:達到指定天數後轉儲和刪除非目前的版本Object
假設您指定了該Bucket中目前的版本Object距其最後修改時間超過10天后轉換為IA儲存類型,Object成為非目前的版本60天后轉換為Archive儲存類型,Object成為非目前的版本90天后刪除。
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>test-rule0</ID> <Prefix></Prefix> <Status>Enabled</Status> <Transition> <Days>10</Days> <StorageClass>IA</StorageClass> </Transition> <NoncurrentVersionTransition> <NoncurrentDays>60</NoncurrentDays> <StorageClass>Archive</StorageClass> </NoncurrentVersionTransition> <NoncurrentVersionExpiration> <NoncurrentDays>90</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。
樣本2:刪除到期刪除標記
當Object在僅剩一個刪除標記版本,其餘版本均已刪除的情況下執行Expiration到期操作,則該刪除標記即為到期刪除標記。移除到期刪除標記樣本如下:
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>test-rule0</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker> </Expiration> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。
清理到期片段
通過生命週期規則指定在分區上傳過程中,首碼為logs的片段(即未執行CompleteMultipartUpload的Object)5天后到期。
以上生命週期配置規則的XML以及控制台配置樣本如下:
XML
<LifecycleConfiguration> <Rule> <ID>lifecyclerule1</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <AbortMultipartUpload> <Days>5</Days> </AbortMultipartUpload> </Rule> </LifecycleConfiguration>
控制台
說明您還可以通過控制台配置符合以上條件的生命週期規則,配置詳情如下圖所示。具體操作,請參見設定生命週期規則。