获取该桶设置的生命周期配置信息。
要正确执行此操作,需要确保执行者有GetLifecycleConfiguration执行权限。默认情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。
名称 | 类型 | IN | 必选 | 描述 |
---|---|---|---|---|
Authorization
|
string | header | 是 |
请求消息中可带的签名信息。 |
Date
|
string | header | 否 |
请求发起端的日期和时间,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默认值:无。 条件:如果消息头中带了x-obs-date字段,则可以不带该字段,其他情况下必选。 |
bucket_name
|
string | query | 是 |
请求的桶名称。 |
lifecycle
|
string | query | 是 |
lifecycle表示请求桶声明周期API。 |
成功请求响应。
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
Content-Length
|
string | 否 |
响应消息体的字节长度。 |
Connection
|
string | 否 |
指明与服务器的连接是长连接还是短连接。 |
Date
|
string | 否 |
OBS系统响应的时间。 |
ETag
|
string | 否 |
对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。实际的ETag是对象的哈希值。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,通过MD5加密后都有唯一的ETag。如果通过多段上传对象,则无论加密方法如何,MD5会拆分ETag,此类情况ETag就不是MD5的摘要。 |
x-obs-id-2
|
string | 否 |
帮助定位问题的特殊符号。 |
x-obs-request-id
|
string | 否 |
由OBS创建来唯一确定本次请求的值,可以通过该值来定位问题。 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
LifecycleConfiguration
|
SetBucketLifecycleRequestBody object | 否 |
桶的生命周期配置信息。 如果桶的多版本是Enabled或者Suspended,那么可以设置NoncurrentVersionTransition或NoncurrentVersionExpiration来控制对象的历史版本的生命周期。一个历史版本的生命周期,取决于它成为历史版本的时刻(即被新版本覆盖的那个时刻)和NoncurrentDays。对于删除来说,例如NoncurrentDays配置为1的话,表示当一个版本成为历史版本之后,再过1天才能删除。对象A的版本V1创建于1号,5号的时候又上传新的版本V2,此时V1成为历史版本,那么再过1天,7号的0点,V1就过期了。如果该版本不满足删除, 迁移 配置NoncurrentDays为1,StorageClass为WARM的话,表示当一个版本成为历史版本之后,再过1天转为温对象。对象A的版本V1创建于1号,5号的时候又上传新的版本V2,此时V1成为历史版本,那么再过1天,7号的0点,V1就会迁移成温对象了。(备注:对象过期后被删除或对象迁移的时间可能会有一定的延迟,一般不超过48小时。) 如果桶的多版本是Enabled或者Suspended,且最新版本对象满足Expiration规则时的处理: 桶当前的多版本状态为Enabled: 如果对象的最新版本不是deletemarker,则该对象会产生一个新的deletemarker; 如果最新版本是deletemarker,且该对象只有这一个版本,则这个版本会被删除; 如果最新版本是deletemarker,且对象还有其他版本,则该对象的所有版本维持不变,没有新增和删除,也不会被修改(即无任何变化)。 桶当前的多版本状态为Suspended: 如果对象的最新版本不是deletemarker,且版本不是null版本,则会产生一个新的null版本的deletemarker; 如果对象的最新版本不是deletemarker,且版本是null版本,则这个null版本会被新产生的null版本的deletemarker覆盖; 如果最新版本是deletemarker,且该对象只有这一个版本,则这个版本会被删除; 如果最新版本是deletemarker,且对象还有其他版本,则该对象的所有版本维持不变,没有新增和删除,也不会被修改(即无任何变化)。 如果桶的多版本是Enabled或者Suspended,且最新版本对象满足Transition规则时的处理: 如果对象的最新版本是deletemarker,则这个版本不被迁移; 如果最新版本不是deletemarker,且该对象满足迁移条件,则这个版本会被迁移。 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
Rule
|
Array of Rule objects | 是 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
ID
|
string | 否 |
一条Rule的标识,由不超过255个字符的字符串组成。 |
Prefix
|
string | 是 |
对象名前缀,用以标识哪些对象可以匹配到当前这条Rule。 约束: 1.当按前缀配置时,如果指定的前缀名与某条已配置的生命周期规则指定的前缀名存在包含关系,OBS会将两条规则视为同一条,而禁止您配置本条规则。例如,系统中已存在指定前缀名为“abc”的规则,则不允许再配置指定前缀以“abc”字段开头的规则。 2.如果已存在按前缀配置的生命周期规则,则不允许再新增配置到整个桶的规则。 |
Status
|
string | 是 |
标识当前这条Rule是否启用。 |
Expiration
|
Expiration object | 否 |
生命周期配置中表示过期时间的Container(仅针对对象的最新版本)。 如果没有Transition, NoncurrentVersionTransition, NoncurrentVersionExpiration, AbortIncompleteMultipartUpload则必选。 |
NoncurrentVersionExpiration
|
NoncurrentVersionExpiration object | 否 |
生命周期配置中表示历史版本过期时间的Container。您可以将该动作设置在已启用多版本(或暂停)的桶,来让系统删除对象的满足特定生命周期的历史版本(仅针对历史版本)。 |
Transition
|
Array of Transition objects | 否 |
生命周期配置中表示迁移时间和迁移后 对象存储 级别的元素(仅针对对象的最新版本)。 如果没有NoncurrentVersionTransition, Expiration, NoncurrentVersionExpiration, AbortIncompleteMultipartUpload则必选。 |
NoncurrentVersionTransition
|
Array of NoncurrentVersionTransition objects | 否 |
生命周期配置中表示对象的历史版本迁移时间和迁移后对象存储级别的元素。 |
AbortIncompleteMultipartUpload
|
AbortIncompleteMultipartUpload object | 否 |
生命周期配置中表示未合并的多段任务(碎片)的过期属性Container。 如果没有Transition, Expiration, NoncurrentVersionExpiration, NoncurrentVersionTransition则必选。 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
Date
|
string | 否 |
指定OBS对该日期之前的对象执行生命周期规则。日期格式必须为ISO8601的格式,并且为UTC的零点。 例如:2018-01-01T00:00:00.000Z,表示将最后修改时间早于2018-01-01T00:00:00.000Z的对象删除或转换成其他存储类型,等于或晚于这个时间的对象不会被删除或转储。 如果没有Days元素,则必选。 |
Days
|
integer | 否 |
指定生命周期规则在对象最后更新过后多少天生效(仅针对对象的最新版本)。 如果没有Date元素,则必选。 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
NoncurrentDays
|
integer | 否 |
表示对象在成为历史版本之后第几天时规则生效(仅针对历史版本)。 如果有NoncurrentVersionExpiration或NoncurrentVersionTransition元素,则必选。 |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
Date
|
string | 否 |
指定OBS对该日期之前的对象执行生命周期规则。日期格式必须为ISO8601的格式,并且为UTC的零点。 例如:2018-01-01T00:00:00.000Z,表示将最后修改时间早于2018-01-01T00:00:00.000Z的对象删除或转换成其他存储类型,等于或晚于这个时间的对象不会被删除或转储。 如果没有Days元素,则必选。 |
Days
|
integer | 否 |
指定生命周期规则在对象最后更新过后多少天生效(仅针对对象的最新版本)。 如果没有Date元素,则必选。 |
StorageClass
|
string | 否 |
表示对象将被修改成存储级别。 取值范围: WARM或COLD |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
NoncurrentDays
|
integer | 否 |
表示对象在成为历史版本之后第几天时规则生效(仅针对历史版本)。 |
StorageClass
|
string | 否 |
表示对象将被修改成存储级别。 取值范围: WARM或COLD |
名称 | 类型 | 必选 | 描述 |
---|---|---|---|
DaysAfterInitiation
|
integer | 否 |
指定未合并的多段任务(碎片)的生命周期规则,在多段任务初始化过后多少天生效。 如果有AbortIncompleteMultipartUpload则必选。 |
请求失败响应消息。
请求失败响应消息。 除了公共的错误码外,此接口还会返回一些其他的错误码。下面列出本接口的一些常见错误,以及可能原因。
错误码 | 描述 | HTTP状态码 |
---|---|---|
NoSuchLifecycleConfiguration | 桶的生命周期配置不存在。 | 404 Not Found |