生命周期配置示例
如果您的使用方式为API或SDK,请参考xml示例,如果您的使用方式是控制台或Browser+可参考示例截图。
单一规则单个筛选条件
示例1:生命周期将应用于存储桶内的所有对象
如果需要适用于桶中的全部对象,需要指定一个空前缀。以下规则适用于桶中的全部对象,在对象创建100天后其转换为归档存储类型。
xml:
1 2 3 4 5 6 7 8 9 10 11 |
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix></Prefix> <Status>Enabled</Status> <Transition> <Days>100</Days> <StorageClass>COLD</StorageClass> </Transition> </Rule> </LifecycleConfiguration> |
示例2:基于对象名前缀指定筛选条件
筛选条件制定了一个对象名前缀(texta/),以下生命周期规则将应用于对象名前缀为texta/ 的对象,例如 texta/file1.txt 和 texta/file2.txt。
此规则指定了两种生命周期操作:在对象创建90天后将其转换为低频访问存储类型,在对象创建120天后将其删除。
xml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Status>Enabled</Status> <Prefix>texta/</Prefix> <Transition> <Days>90</Days> <StorageClass>WARM</StorageClass> </Transition> <Expiration> <Days>120</Days> </Expiration> </Rule> </LifecycleConfiguration> |
示例3:基于对象名前缀指定筛选条件,规定最后一次修改时间在指定日期前的对象被删除
筛选条件制定了一个对象名前缀(texta/),以下生命周期规则将应用于对象名前缀为texta/ 的对象,例如 texta/file1.txt 和 texta/file2.txt。
此规则指定了一种生命周期操作:最后修改时间在2024年5月30日之前的对象过期删除。
xml:
1 2 3 4 5 6 7 8 9 10 |
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Status>Enabled</Status> <Prefix>texta/</Prefix> <Expiration> <Date>2024-05-30T00:00:00.000Z</Date> </Expiration> </Rule> </LifecycleConfiguration> |
示例4:基于对象名前缀指定筛选条件,规定最后一次修改时间在指定日期前的对象转换存储类型
筛选条件制定了一个对象名前缀(texta/),以下生命周期规则将应用于对象名前缀为texta/ 的对象,例如 texta/file1.txt 和 texta/file2.txt。
此规则指定了一种生命周期操作:最后修改时间在2024年5月30日之前的对象转换为归档存储。
xml:
1 2 3 4 5 6 7 8 9 10 11 |
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Status>Enabled</Status> <Prefix>texta/</Prefix> <Transition> <Date>2024-05-30T00:00:00.000Z</Date> <StorageClass>COLD</StorageClass> </Transition> </Rule> </LifecycleConfiguration> |
单一规则多个筛选条件
单一规则下添加多个筛选条件,需要使用And作为父节点将多个筛选条件包含。
示例1:单一规则指定多个筛选条件
- 以下规则适用于桶中前缀为texta/,标签为(Key等于key1,Value 等于value1)、(Key等于key2,Value 等于value2)的对象,对象在创建120天后被删除。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Filter> <And> <Prefix>texta/</Prefix> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> </And> </Filter> <Status>Enabled</Status> <Expiration> <Days>120</Days> </Expiration> </Rule> </LifecycleConfiguration>
多条规则筛选条件不重叠
如果希望不同的对象有不同的生命周期操作,则可以指定多个规则。例如如下生命周期配置有两个规则:
- 规则1适用于对象名前缀为texta/的对象。指示120天后转为归档存储类型,并在360天后被删除。
- 规则2适用于对象名前缀为textb/的对象。指示90天后转为低频访问存储类型,并在120天后被删除。
xml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<LifecycleConfiguration> <Rule> <ID>sample-rule1</ID> <Prefix>texta/</Prefix> <Status>Enabled</Status> <Transition> <Days>120</Days> <StorageClass>COLD</StorageClass> </Transition> <Expiration> <Days>360</Days> </Expiration> </Rule> <Rule> <ID>sample-rule2</ID> <Prefix>textb/</Prefix> <Status>Enabled</Status> <Transition> <Days>90</Days> <StorageClass>WARM</StorageClass> </Transition> <Expiration> <Days>120</Days> </Expiration> </Rule> </LifecycleConfiguration> |
- 规则:规则1指定了一个前缀为空的筛选条件,表示桶内的所有对象。在对象创建120天后删除。规则2指定了一个前缀为typea/的筛选条件,表示前缀为typea/的对象。在对象创建90天后转为归档存储类型。
- 执行结果:生命周期操作没有冲突,前缀为typea/的对象,在对象创建90天后被转为归档存储类型,然后在对象创建120天后又被删除。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<LifecycleConfiguration> <Rule> <ID>sample-rule1</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <Days>120</Days> </Expiration> </Rule> <Rule> <ID>sample-rule2</ID> <Prefix>typea/</Prefix> <Status>Enabled</Status> <Transition> <Days>90</Days> <StorageClass>COLD</StorageClass> </Transition> </Rule> </LifecycleConfiguration> |
示例2:前缀重叠和标签重叠,生命周期操作无冲突
- 规则:规则1指定了一个前缀为ab、标签为(Key等于key1,Value 等于value1)的筛选条件。在对象创建120天后删除。规则2指定了一个前缀为abc、标签为(Key等于key1,Value 等于value1)、(Key等于key2,Value 等于value2)的筛选条件。在对象创建90天后转为归档存储类型。
- 执行结果:生命周期操作没有冲突,带前缀为abc和标签(Key等于key1,Value 等于value1)、(Key等于key2,Value 等于value2)的对象,在对象创建90天后被转为归档存储类型,然后在对象创建120天后又被删除。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
<LifecycleConfiguration> <Rule> <ID>sample-rule1</ID> <Filter> <And> <Prefix>ab</Prefix> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> </And> </Filter> <Status>Enabled</Status> <Expiration> <Days>120</Days> </Expiration> </Rule> <Rule> <ID>sample-rule2</ID> <Filter> <And> <Prefix>abc</Prefix> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> </And> </Filter> <Status>Enabled</Status> <Transition> <Days>90</Days> <StorageClass>COLD</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
示例3:前缀重叠生命周期操作冲突
- 规则:规则1指定了一个前缀为空的筛选条件,表示桶内的所有对象。在对象创建90天后删除。规则2指定了一个前缀为typea/的筛选条件,表示前缀为typea/的对象。在对象创建120天后转为归档存储类型。
- 执行结果:生命周期操作有冲突,这种情况将不被允许配置 。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
<LifecycleConfiguration> <Rule> <ID>sample-rule1</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <Days>90</Days> </Expiration> </Rule> <Rule> <ID>sample-rule2</ID> <Prefix>typea/</Prefix> <Status>Enabled</Status> <Transition> <Days>120</Days> <StorageClass>COLD</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
示例4:前缀和标签重叠,生命周期操作冲突
- 规则:规则1指定了一个前缀为ab、标签为(Key等于key1,Value 等于value1)的筛选条件。在对象创建90天后删除。规则2指定了一个前缀为abc、标签为(Key等于key1,Value 等于value1)、(Key等于key2,Value 等于value2)的筛选条件。在对象创建120天后转为归档存储类型。
- 执行结果:生命周期操作有冲突,这种情况不被允许配置。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
<LifecycleConfiguration> <Rule> <ID>sample-rule1</ID> <Filter> <And> <Prefix>ab</Prefix> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> </And> </Filter> <Status>Enabled</Status> <Expiration> <Days>90</Days> </Expiration> </Rule> <Rule> <ID>sample-rule2</ID> <Filter> <And> <Prefix>abc</Prefix> <Tag> <Key>key1</Key> <Value>value1</Value> </Tag> <Tag> <Key>key2</Key> <Value>value2</Value> </Tag> </And> </Filter> <Status>Enabled</Status> <Transition> <Days>120</Days> <StorageClass>COLD</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
清理碎片
筛选条件制定了一个对象名前缀(texta/),以下生命周期规则将应用于对象名前缀为texta/ 的对象,例如 texta/file1.txt 和 texta/file2.txt。此规则的操作是对象碎片自生成后10天后删除。
1 2 3 4 5 6 7 8 9 10 |
</LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix>texta/</Prefix> <Status>Enabled</Status> <AbortIncompleteMultipartUpload> <DaysAfterInitiation>10</DaysAfterInitiation> </AbortIncompleteMultipartUpload> </Rule> </LifecycleConfiguration> |
开启或开启过(暂停)多版本的桶的生命周期规则
示例一:对象历史版本定时转换存储类别和定时删除
筛选条件指定了一个对象名前缀(prefix1/),以下生命周期规则将应用于对象名前缀为prefix1/的对象,例如 prefix1/file1.txt 和prefix1/file2.txt。
此规则指定了两种生命周期操作:在对象历史版本生成20天后将其转换为归档存储类型,在对象历史版本生成30天后将其删除。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix>prefix1/</Prefix> <Status>Enabled</Status> <NoncurrentVersionTransition> <NoncurrentDays>20</NoncurrentDays> <StorageClass>COLD</StorageClass> </NoncurrentVersionTransition> <NoncurrentVersionExpiration> <NoncurrentDays>30</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration> |
示例二:删除指定前缀的对象的过期删除标记
筛选条件指定了一个对象名前缀(prefix1/),以下生命周期规则将应用于对象名前缀为prefix1/的对象,例如 prefix1/file1.txt 和prefix1/file2.txt。
如果前缀为prefix1/的对象所有版本都被删除,仅剩下唯一一个过期删除标记,则删除该过期删除标记。
1 2 3 4 5 6 7 8 9 10 |
</LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Prefix>prefix1/</Prefix> <Status>Enabled</Status> <Expiration> <ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker> </Expiration> </Rule> </LifecycleConfiguration> |
禁用生命周期规则
设置Status为Disable,禁用规则。以下规则适用于桶中前缀为texta/的对象,在对象创建100天后其转换为归档存储类型。
xml:
1 2 3 4 5 6 7 8 9 10 11 |
<LifecycleConfiguration> <Rule> <ID>sample-rule</ID> <Status>Disabled</Status> <Prefix>texta/</Prefix> <Transition> <Days>100</Days> <StorageClass>COLD</StorageClass> </Transition> </Rule> </LifecycleConfiguration> |