Updated on 2026-01-16 GMT+08:00

Obtaining Bucket Lifecycle Configuration

Functions

This operation obtains the bucket lifecycle configuration.

To perform this operation, you must have the GetLifecycleConfiguration permission. By default, only the bucket owner can perform this operation. The bucket owner can grant the permission to other users by configuring the bucket policy or user policy.

Request Syntax

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

Request Parameters

This request contains no message parameters.

Request Headers

This request uses common headers. For details, see Table 3.

Request Elements

This request involves no elements.

Response Syntax

 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
38
39
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> 
        <AbortIncompleteMultipartUpload>
            <DaysAfterInitiation>10</DaysAfterInitiation>
        </AbortIncompleteMultipartUpload>
    </Rule> 
</LifecycleConfiguration>

Response Headers

The response to the request uses common headers. For details, see Table 1.

Response Elements

This response contains elements to detail the configuration. Table 1 describes the elements.

Table 1 Response elements for lifecycle configuration

Parameter

Type

Description

LifecycleConfiguration

XML

Definition:

Container for lifecycle configuration rules. Multiple rules can be configured. LifecycleConfiguration is the parent node of Rule.

Range:

None

Rule

Container

Definition:

Container for a specific lifecycle rule.

Range:

For details, see Table 2.

Table 2 Rule parameter description

Parameter

Type

Description

Transition

XML

Definition:

The transition time and the object storage class after transition (valid only for the latest object version).

Range:

For details, see Table 3.

Default value:

None

Expiration

XML

Definition:

Container for the object expiration rule.

Range:

For details, see Table 4.

NoncurrentVersionTransition

XML

Definition:

Transition time of historical object versions and the object storage class after transition.

Range:

For details, see Table 5.

NoncurrentVersionExpiration

XML

Definition:

Container for the expiration time of objects' historical versions. If versioning is enabled or suspended for a bucket, you can set this parameter to delete historical versions of objects that match the lifecycle rule.

Range:

For details, see Table 6.

ID

String

Definition:

ID of a rule.

Range:

The value is a string of 0 to 255 characters.

Prefix

String

Definition:

Object name prefix. It identifies the objects the rule applies to.

Range:

The value is a string of 0 to 255 characters.

Status

String

Definition:

Whether the rule is enabled

Range:

  • Enabled: The rule is enabled.
  • Disabled: The rule is disabled.
Table 3 Transition parameter description

Parameter

Type

Description

Date

String

Definition:

ID of the rule to be queried

Range:

The date must be compliant with the ISO8601 format, and the time must be compliant with the UTC format of 00:00:00. For example, 2018-01-01T00:00:00.000Z indicates that objects whose last modification time is earlier than 2018-01-01T00:00:00.000Z are deleted or transitioned to another storage class. Objects whose last modification time is equal to or later than the specified time are not deleted or transitioned to another storage class.

Days

Integer

Definition:

Specifies the number of days (since the latest update to the latest object version) after which the lifecycle rule is executed.

Range:

None

StorageClass

String

Definition:

The storage class to which the object is transitioned.

Range:

  • WARM: Warm storage class
  • COLD: Cold storage class
Table 4 Expiration parameter description

Parameter

Type

Description

Date

String

Definition:

ID of the rule to be queried

Range:

The date must be compliant with the ISO8601 format, and the time must be compliant with the UTC format of 00:00:00. For example, 2018-01-01T00:00:00.000Z indicates that objects whose last modification time is earlier than 2018-01-01T00:00:00.000Z are deleted or transitioned to another storage class. Objects whose last modification time is equal to or later than the specified time are not deleted or transitioned to another storage class.

Days

Integer

Definition:

Specifies the number of days (since the latest update to the latest object version) after which the lifecycle rule is executed.

Range:

None

Table 5 NoncurrentVersionTransition parameter description

Parameter

Type

Description

NoncurrentDays

Integer

Definition:

Number of days when the specified rule takes effect after the object becomes a historical version.

Range:

  • If only one transition is involved, the time should be at least one day later.
  • If multiple transitions are involved, the latter transition should be at least one day later than the former transition.
  • Multiple transitions: For the same object, the time its historical versions transition to the Deep Archive storage class must be later than the time they transition to the Cold storage class, and the time of transitioning to the Cold storage class must be later than the time of transitioning to the Warm storage class.

StorageClass

String

Definition:

The storage class to which the object is transitioned.

Range:

  • WARM: Warm storage class
  • COLD: Cold storage class
Table 6 NoncurrentVersionExpiration parameter description

Parameter

Type

Description

NoncurrentDays

Integer

Definition:

Number of days when the specified rule takes effect after the object becomes a historical version.

Range:

  • If only one transition is involved, the time should be at least one day later.
  • If multiple transitions are involved, the latter transition should be at least one day later than the former transition.
  • Multiple transitions: For the same object, the time its historical versions transition to the Deep Archive storage class must be later than the time they transition to the Cold storage class, and the time of transitioning to the Cold storage class must be later than the time of transitioning to the Warm storage class.

Error Responses

Table 7 describes possible special errors in the request.

Table 7 Special error

Error Code

Description

HTTP Status Code

NoSuchLifecycleConfiguration

The bucket lifecycle configuration does not exist.

404 Not Found

For other errors, see Table 2.

Sample Request

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=

Sample Response

 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
38
39
40
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>