获取该桶设置的生命周期配置信息。
要正确执行此操作,需要确保执行者有GetLifecycleConfiguration执行权限。默认情况下只有桶的所有者可以执行此操作,也可以通过设置桶策略或用户策略授权给其他用户。
GET /?lifecycle HTTP/1.1
Host: bucketname.obs.cn-north-4.myhuaweicloud.com
Date: date
Authorization: authorization
该请求消息中不使用消息参数。
该请求使用公共消息头,具体参见表3。
该请求消息中不使用消息元素。
HTTP/1.1 status_code
Date: date
Content-Type: application/xml
Date: date
Content-Length: length
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<LifecycleConfiguration xmlns="http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/">
<Rule>
<ID>id</ID>
<Prefix>prefix</Prefix>
<Status>status</Status>
<Expiration>
<Date>date</Date>
</Expiration>
<NoncurrentVersionExpiration>
<NoncurrentDays>days</NoncurrentDays>
</NoncurrentVersionExpiration>
<Transition>
<Date>date</Date>
<StorageClass>WARM</StorageClass>
</Transition>
<Transition>
<Date>date</Date>
<StorageClass>COLD</StorageClass>
</Transition>
<NoncurrentVersionTransition>
<NoncurrentDays>30</NoncurrentDays>
<StorageClass>WARM</StorageClass>
</NoncurrentVersionTransition>
<NoncurrentVersionTransition>
<NoncurrentDays>60</NoncurrentDays>
<StorageClass>COLD</StorageClass>
</NoncurrentVersionTransition>
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation>10</DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
</Rule>
</LifecycleConfiguration>
该请求的响应消息使用公共消息头,具体请参考表1。
在此请求返回的响应消息体中包含的配置元素如下表1描述。
表 1 生命周期配置元素
名称 | 描述 |
---|---|
Date | 指定OBS对该日期之前的对象执行生命周期规则。日期格式必须为ISO8601的格式,并且为UTC的零点。 例如:2018-01-01T00:00:00.000Z,表示将最后修改时间早于2018-01-01T00:00:00.000Z的对象删除或转换成其他存储类型,等于或晚于这个时间的对象不会被删除或转储。类型:String父节点:Expiration, Transition |
Days | 指定在对象最后修改时间的多少天后执行生命周期规则(仅针对对象的最新版本)。类型:Integer父节点:Expiration, Transition |
ExpiredObjectDeleteMarker | 表示是否删除过期删除标记,可以配置true和false。当配置true时,生命周期才会删除,当配置false时,不会删除。类型:Boolean父节点:Expiration |
StorageClass | 表示对象将被修改成存储级别。类型:String取值范围:WARM或COLD父节点:Transition, NoncurrentVersionTransition |
Transition | 生命周期配置中表示迁移时间和迁移后对象存储级别的元素(仅针对对象的最新版本)类型:XML子节点:Date或Days父节点:Rule |
Expiration | 生命周期配置中表示过期时间的Container。类型:XML子节点:Date或Days或ExpiredObjectDeleteMarker父节点:Rule |
ID | 一条Rule的标识,由不超过255个字符的字符串组成。类型:String父节点:Rule |
LifecycleConfiguration | 生命周期配置Rule的Container。可以配置多条Rule,但需保证整个配置消息体总大小不超过20KB。类型:XML子节点:Rule父节点:无 |
NoncurrentDays | 表示对象在成为历史版本之后第几天时规则生效。类型:Integer父节点:NoncurrentVersionExpiration, NoncurrentVersionTransition |
NoncurrentVersionTransition | 生命周期配置中表示对象的历史版本迁移时间和迁移后对象存储级别的元素。类型:XML子节点:NoncurrentDays, StorageClass父节点:Rule |
NoncurrentVersionExpiration | 生命周期配置中表示历史版本过期时间的Container。您可以将该动作设置在已启用多版本(或暂停)的桶,来让系统删除对象的满足特定生命周期的历史版本。类型:XML子节点:NoncurrentDays父节点:Rule |
AbortIncompleteMultipartUpload | 生命周期配置中表示未合并的多段任务(碎片)的过期属性Container类型:XML子节点:DaysAfterInitiation父节点:Rule |
DaysAfterInitiation | 指定未合并的多段任务(碎片)的生命周期规则,在多段任务初始化过后多少天生效。类型:Integer父节点:AbortIncompleteMultipartUpload |
Prefix | 对象名前缀,用以标识哪些对象可以匹配到当前这条Rule。类型:String父节点:Rule |
Rule | 具体某一条生命周期配置的Container。类型:Container父节点:LifecycleConfiguration |
Status | 标识当前这条Rule是否启用。类型:String父节点:Rule有效值:Enabled,Disabled |
此请求可能的特殊错误如下表2描述。
表 2 特殊错误
错误码 | 描述 | HTTP状态码 |
---|---|---|
NoSuchLifecycleConfiguration | 桶的生命周期配置不存在 | 404 Not Found |
其余错误已经包含在表2中。
GET /?lifecycle HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.cn-north-4.myhuaweicloud.com
Accept: */*
Date: WED, 01 Jul 2015 03:06:56 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:/Nof9FCNANfzIXDS0NDp1IfDu8I=
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: BF260000016436BA5684FF5A10370EDB
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSEMKZSIeboCA1eAukgYOOAd7oX3ZONn
Content-Type: application/xml
Date: WED, 01 Jul 2015 03:06:56 GMT
Content-Length: 919
<?xml version="1.0" encoding="utf-8"?>
<LifecycleConfiguration>
<Rule>
<ID>delete-2-days</ID>
<Status>Enabled</Status>
<Expiration>
<Days>2</Days>
</Expiration>
<NoncurrentVersionExpiration>
<NoncurrentDays>5</NoncurrentDays>
</NoncurrentVersionExpiration>
<Transition>
<Days>30</Days>
<StorageClass>WARM</StorageClass>
</Transition>
<Transition>
<Days>60</Days>
<StorageClass>COLD</StorageClass>
</Transition>
<NoncurrentVersionTransition>
<NoncurrentDays>30</NoncurrentDays>
<StorageClass>WARM</StorageClass>
</NoncurrentVersionTransition>
<NoncurrentVersionTransition>
<NoncurrentDays>60</NoncurrentDays>
<StorageClass>COLD</StorageClass>
</NoncurrentVersionTransition>
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation>10</DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
</Rule>
</LifecycleConfiguration>