本文檔提供多個常見的生命周期配置示例,以便您更好地使用生命周期規則管理您存儲空間(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>
控制臺
說明您還可以通過控制臺配置符合以上條件的生命周期規則,配置詳情如下圖所示。具體操作,請參見設置生命周期規則。