更新时间:2024-10-23 GMT+08:00

生命周期元素说明

本章节以一个典型的配置示例为例,说明生命周期规则的元素组成,示例如下:

生命周期规则的组成元素

一条完整的生命周期规则由规则元数据、规则的对象筛选条件和规则执行的动作和时间3个关键元素组成:

规则元数据

规则元数据说明规则ID以及规则状态:

表1 规则元数据

元素

描述

规则元数据

ID

元素解释:

规则ID,ID元素唯一地标识一条规则。

取值范围:

长度大于0且不超过255的字符串,只能由大写或小写的英文字母、数字、英文句号(.)、下划线(_)和连字符(-)组成。

默认取值:

如果未指定ID元素或者该值为空时,OBS会自动生成一个唯一ID。

Status

元素解释:

规则状态。如果规则处于禁用状态,则OBS不会执行规则中指定的任何操作。

取值范围:

  • Enabled:规则启用
  • Disabled:规则禁用

默认取值:

规则的对象筛选条件

规则的对象筛选条件说明生命周期规则的操作目标是哪些对象:

表2 筛选条件说明

元素

含义

筛选条件

Prefix

元素解释:

对象名前缀,以指定前缀开头的对象可以匹配到当前规则。

如果您指定空的前缀,该规则将应用于桶中的所有对象。

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

如不指定,默认为空。

规则执行的动作和时间

下表参数说明在什么时间点开始执行生命周期规则,以及针对目标对象执行的动作是什么:

表3 规则执行的动作

操作

说明

相关子元素

子元素说明

Expiration

删除对象

说明:

Expiration操作不会删除未合并的多段对象。

Days

(Days、Date和ExpiredObjectDeleteMarker三选一)

元素解释:

指定生命周期规则在距离对象最后一次修改多少天后执行过期删除操作。

约束限制:

  • 仅适用于对象的当前版本。
  • 针对同一个对象过期删除时间需要晚于存储类别转换时间。

取值范围:

正整数,单位:天。

默认取值:

Date

(Days、Date和ExpiredObjectDeleteMarker三选一)

元素解释:

指定最后一次修改时间在该日期之前的对象执行删除对象操作。

约束限制:

  • 仅适用于对象的当前版本。
  • 日期格式必须为ISO8601的格式,并且为UTC的零点。 例如:2018-01-01T00:00:00.000Z,表示将最后修改时间早于2018-01-01T00:00:00.000Z的对象删除。
  • 针对同一个对象过期删除时间需要晚于存储类别转换时间。
  • 控制台和OBS Browser+暂不支持指定日期(Date)删除的功能。

默认取值:

删除过期删除标记

ExpiredObjectDeleteMarker

(Days、Date和ExpiredObjectDeleteMarker三选一)

元素解释:

是否删除过期删除标记。

取值范围:

  • true:删除过期删除标记
  • false:不删除过期删除标记

默认取值:

Transition

转换对象存储类别

Days

(Days与Date二选一)

元素解释:

表示在对象在距离对象最后一次修改多少天后转换对象存储类别。

约束限制:

仅适用于对象的当前版本。

取值范围:

单位:天。

  • 仅设置一种转换:最少设置1天。
  • 设置多种转换:针对同一个对象转深度归档存储时间需要晚于转归档存储时间,转归档存储时间需要晚于转低频存储时间。

默认取值:

Date

(Days与Date二选一)

元素解释:

指定最后一次修改时间在该日期之前的对象执行存储类别转换。

约束限制:

  • 仅适用于对象的当前版本。
  • 日期格式必须为ISO8601的格式,并且为UTC的零点。 例如:2018-01-01T00:00:00.000Z,表示将最后修改时间早于2018-01-01T00:00:00.000Z的对象转换存储类别。
  • 设置多种转换:针对同一个对象转深度归档存储时间需要晚于转归档存储时间,转归档存储时间需要晚于转低频访问存储时间。
  • 控制台和OBS Browser+暂不支持指定日期(Date)转换存储类别的功能。

默认取值:

StorageClass

元素解释:

表示对象将被修改成的目标存储类别。

取值范围:

  • WARM:低频访问存储
  • COLD:归档存储
  • DEEP_ARCHIVE:深度归档存储

默认取值:

AbortIncompleteMultipartUpload

清理碎片

DaysAfterInitiation

元素解释:

指定生命周期规则在碎片生成后多久执行过期删除操作。

取值范围:

正整数,单位:天。

默认取值:

NoncurrentVersionExpiration

删除对象历史版本

NoncurrentDays

元素解释:

表示对象版本在成为历史版本之后第几天时删除。

约束限制:

  • 仅针对对象的历史版本。
  • 当前桶已启用(或开启后暂停)多版本。
  • 针对同一个对象的历史版本过期删除时间需要晚于存储类别转换时间。

取值范围:

正整数,单位:天。

默认取值:

NoncurrentVersionTransition

转换对象历史版本的存储类别

NoncurrentDays

元素解释:

表示对象版本在成为历史版本之后第几天时转换对象。

约束限制:

  • 仅针对对象的历史版本。
  • 当前桶已启用(或开启后暂停)多版本。

取值范围:

单位:天。

  • 仅设置一种转换:最少设置1天。
  • 设置多种转换:后者时间要比前者时间最少长1天。
  • 设置多种转换:针对同一个对象的历史版本转深度归档存储时间需要晚于转归档存储时间,转归档存储时间需要晚于转低频访问存储时间。

默认取值:

StorageClass

元素解释:

表示对象将被修改成的目标存储类别。

取值范围:

  • WARM:低频访问存储
  • COLD:归档存储
  • DEEP_ARCHIVE:深度归档存储

默认取值:

单条生命周期规则中,days和date的选择必须统一,即如果Expiration选择搭配Days,则Transition也必须要选择Days,同理如果Expiration选择搭配Date,则Transition也必须要选择Date。