华为云计算 云知识 获取桶的生命周期配置GetBucketLifecycle
获取桶的生命周期配置GetBucketLifecycle

 

接口说明

获取该桶设置的生命周期配置信息。

要正确执行此操作,需要确保执行者有GetLifecycleConfiguration执行权限。默认情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。

URL
GET  https://obs.cn-north-4.myhuaweicloud.com/ 
请求参数
名称 类型 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。

返回参数
返回码: 200

成功请求响应。

名称 类型 必选 描述
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,且该对象满足迁移条件,则这个版本会被迁移。

200 LifecycleConfiguration
名称 类型 必选 描述
Rule
 
Array of Rule objects  
200 LifecycleConfiguration.Rule
名称 类型 必选 描述
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则必选。

200 LifecycleConfiguration.Rule.Expiration
名称 类型 必选 描述
Date
 
string

指定OBS对该日期之前的对象执行生命周期规则。日期格式必须为ISO8601的格式,并且为UTC的零点。 例如:2018-01-01T00:00:00.000Z,表示将最后修改时间早于2018-01-01T00:00:00.000Z的对象删除或转换成其他存储类型,等于或晚于这个时间的对象不会被删除或转储。

如果没有Days元素,则必选。

Days
 
integer

指定生命周期规则在对象最后更新过后多少天生效(仅针对对象的最新版本)。

如果没有Date元素,则必选。

200 LifecycleConfiguration.Rule.NoncurrentVersionExpiration
名称 类型 必选 描述
NoncurrentDays
 
integer

表示对象在成为历史版本之后第几天时规则生效(仅针对历史版本)。 如果有NoncurrentVersionExpiration或NoncurrentVersionTransition元素,则必选。

200 LifecycleConfiguration.Rule.Transition
名称 类型 必选 描述
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

200 LifecycleConfiguration.Rule.NoncurrentVersionTransition
名称 类型 必选 描述
NoncurrentDays
 
integer

表示对象在成为历史版本之后第几天时规则生效(仅针对历史版本)。

StorageClass
 
string

表示对象将被修改成存储级别。 取值范围: WARM或COLD

200 LifecycleConfiguration.Rule.AbortIncompleteMultipartUpload
名称 类型 必选 描述
DaysAfterInitiation
 
integer

指定未合并的多段任务(碎片)的生命周期规则,在多段任务初始化过后多少天生效。 如果有AbortIncompleteMultipartUpload则必选。

返回码: 400

请求失败响应消息。

名称 类型 必选 描述
Code
 
string

错误响应消息体XML中错误响应对应的HTTP消息返回码,具体的错误码请参见错误码-表2

Message
 
string

错误响应消息体XML中具体错误更全面、详细的英文解释,具体的错误消息请参见错误码-表2

RequestId
 
string

本次错误请求的请求ID,用于错误定位。

HostId
 
string

返回该消息的服务端ID。

Resource
 
string

该错误相关的桶或对象资源。

返回码: 404

请求失败响应消息。 除了公共的错误码外,此接口还会返回一些其他的错误码。下面列出本接口的一些常见错误,以及可能原因。

错误码 描述 HTTP状态码
NoSuchLifecycleConfiguration 桶的生命周期配置不存在。 404 Not Found
名称 类型 必选 描述
Code
 
string

错误响应消息体XML中错误响应对应的HTTP消息返回码,具体的错误码请参见错误码-表2

Message
 
string

错误响应消息体XML中具体错误更全面、详细的英文解释,具体的错误消息请参见错误码-表2

RequestId
 
string

本次错误请求的请求ID,用于错误定位。

HostId
 
string

返回该消息的服务端ID。

Resource
 
string

该错误相关的桶或对象资源。

请求示例
示例 1
 
"/?lifecycle"
错误码
请参考 错误码说明

 

上一篇:查询服务协议ShowServiceContract 下一篇:华为云Stack API功能介绍:存储服务API

湃睿产品生命周期管理解决方案实践

湃睿产品生命周期管理解决方案实践