更新时间:2024-04-15 GMT+08:00

获取桶的生命周期配置

功能介绍

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

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

请求消息样式

1
2
3
4
GET /?lifecycle HTTP/1.1 
Host: bucketname.obs.region.example.com
Date: date
Authorization: authorization

请求消息参数

该请求消息中不使用消息参数。

请求消息头

该请求使用公共消息头,具体参见表3

请求消息元素

该请求消息中不使用消息元素。

响应消息样式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
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.region.example.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> 
    </Rule> 
</LifecycleConfiguration>

响应消息头

该请求的响应消息使用公共消息头,具体请参考表1

响应消息元素

在此请求返回的响应消息体中包含的配置元素如下表1描述。

表1 生命周期配置元素

名称

描述

Date

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

类型:String

父节点:Expiration

Days

指定在对象最后修改时间的多少天后执行生命周期规则(仅针对对象的最新版本)。

类型:Integer

父节点:Expiration

Expiration

生命周期配置中表示过期时间的Container。

类型:XML

子节点:Date或Days

父节点:Rule

ID

一条Rule的标识,由不超过255个字符的字符串组成。

类型:String

父节点:Rule

LifecycleConfiguration

生命周期配置Rule的Container。可以配置多条Rule,但需保证整个配置消息体总大小不超过20KB。

类型:XML

子节点:Rule

父节点:无

NoncurrentDays

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

类型:Integer

父节点:NoncurrentVersionExpiration

NoncurrentVersionExpiration

生命周期配置中表示历史版本过期时间的Container。您可以将该动作设置在已启用多版本(或暂停)的桶,来让系统删除对象的满足特定生命周期的历史版本。

类型:XML

子节点:NoncurrentDays

父节点:Rule

Prefix

对象名前缀,用以标识哪些对象可以匹配到当前这条Rule。

类型:String

父节点:Rule

Rule

具体某一条生命周期配置的Container。

类型:Container

父节点:LifecycleConfiguration

Status

标识当前这条Rule是否启用。

类型:String

父节点:Rule

有效值:Enabled,Disabled

错误响应消息

此请求可能的特殊错误如下表2描述。

表2 特殊错误

错误码

描述

HTTP状态码

NoSuchLifecycleConfiguration

桶的生命周期配置不存在

404 Not Found

其余错误已经包含在表2中。

请求示例

1
2
3
4
5
6
GET /?lifecycle HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.example.com
Accept: */*
Date: WED, 01 Jul 2015 03:06:56 GMT
Authorization: OBS H4IPJX0TQTHTHEBQQCEC:/Nof9FCNANfzIXDS0NDp1IfDu8I=

响应示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
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>
  </Rule>
</LifecycleConfiguration>