更新时间:2024-01-02 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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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> 
        <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> 
    </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

StorageClass

表示对象将被修改成存储级别。

类型:String

取值范围:WARM或COLD

父节点:Transition, NoncurrentVersionTransition

Transition

生命周期配置中表示迁移时间和迁移后对象存储级别的元素(仅针对对象的最新版本)

类型:XML

子节点:Date或Days

父节点:Rule

Expiration

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

类型:XML

子节点:Date或Days

父节点: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

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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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> 
  </Rule>
</LifecycleConfiguration>