本文档提供多个常见的生命周期配置示例,以便您更好地使用生命周期规则管理您存储空间(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>
控制台
说明您还可以通过控制台配置符合以上条件的生命周期规则,配置详情如下图所示。具体操作,请参见设置生命周期规则。