tencent cloud

All product documents
Cloud Object Storage
PUT Bucket lifecycle
Last updated: 2024-03-28 18:08:33
PUT Bucket lifecycle
Last updated: 2024-03-28 18:08:33

Feature Description

COS introduces the lifecycle feature for you to manage the lifecycle of objects in buckets. The lifecycle configuration contains one or more rules that apply to a set of objects. Each rule defines one operation. There are two types of operations:
Transition: defines when an object is transitioned to another storage class. For example, you can transition an object to STANDARD_IA (suitable for infrequently accessed objects) 30 days after its creation. You can also transition the object to INTELLIGENT TIERING (suitable for objects with irregular access patterns) or ARCHIVE (offering lower costs). For specific parameters, please see Transition in the sample request description.
Expiration: specifies when an object shall expire. COS will automatically delete expired objects.


Notes

This API (PUT Bucket lifecycle) is used to create a lifecycle configuration for a bucket.
Note:
If a lifecycle configuration has already been set for the bucket, the new configuration created with this API will overwrite the existing one.
Days and Date cannot be both specified in the same lifecycle rule. Please pass them to two separate rules. For details, please see the following Sample.
Objects in buckets with MAZ configuration enabled cannot be transitioned to an OAZ bucket.
Up to 1,000 lifecycle rules can be added for each bucket.

Requests

Request example

PUT /?lifecycle HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Content-Length: length
Date: GMT Date
Authorization: Auth String
Content-MD5: MD5
Note:
In Host: <BucketName-APPID>.cos.<Region>.myqcloud.com, <BucketName-APPID> is the bucket name followed by the APPID, such as examplebucket-1250000000 (see Bucket Overview > Basic Information and Bucket Overview > Bucket Naming Conventions), and <Region> is a COS region (see Regions and Access Endpoints).
Authorization: Auth String (See Request Signature for details.)

Request headers

This API only uses Common Request Headers.

Request body

Nodes of the request body for this API are as follows:
<LifecycleConfiguration>
<Rule>
<ID></ID>
<Filter>
<And>
<Prefix></Prefix>
<Tag>
<Key></Key>
<Value></Value>
</Tag>
</And>
</Filter>
<Status></Status>
<Transition>
<Days></Days>
<StorageClass></StorageClass>
</Transition>
<NoncurrentVersionExpiration>
<NoncurrentDays></NoncurrentDays>
</NoncurrentVersionExpiration>
</Rule>
<Rule>
<ID></ID>
<Filter>
<Prefix></Prefix>
</Filter>
<Status></Status>
<Transition>
<Days></Days>
<StorageClass></StorageClass>
</Transition>
<NoncurrentVersionTransition>
<NoncurrentDays></NoncurrentDays>
<StorageClass></StorageClass>
</NoncurrentVersionTransition>
</Rule>
<Rule>
<ID></ID>
<Filter>
<Prefix></Prefix>
</Filter>
<Status></Status>
<Expiration>
<ExpiredObjectDeleteMarker></ExpiredObjectDeleteMarker>
</Expiration>
<NoncurrentVersionExpiration>
<NoncurrentDays></NoncurrentDays>
</NoncurrentVersionExpiration>
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation></DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
</Rule>
</LifecycleConfiguration>
The nodes are described as follows:
Node Name (Keyword)
Parent Node
Description
Type
Required
LifecycleConfiguration
None
Lifecycle configuration
Container
Yes
Rule
LifecycleConfiguration
Rule description
Container
Yes
ID
LifecycleConfiguration.Rule
A unique identifier for the rule. It can be up to 255 characters.
String
No
Filter
LifecycleConfiguration.Rule
Identifies objects that a lifecycle rule applies to.
Container
Yes
And
LifecycleConfiguration.Rule.Filter
A subset of the object filter. This element is only required when there are more than one filter criteria (for example, filtering with Prefix and Tag at the same time, or with more than one Tag).
Container
No
Prefix
LifecycleConfiguration.Rule.Filter.And
Matching prefix for the rule. It specifies objects that the lifecycle rule applies to. There can be one Prefix at most.
String
No
Tag
LifecycleConfiguration.Rule.Filter.And
A set of tags. Up to 10 tags are supported.
Container
No
Key
LifecycleConfiguration.Rule.Filter.And.Tag
Key of the tag. It can be up to 128 bytes. Letters, digits, spaces, plus signs (+), minus signs (-), underscores (_), equal signs (=), dots (.), colons (:), and slashes (/) are supported.
String
No
Value
LifecycleConfiguration.Rule.Filter.And.Tag
Value of the tag. It can be up to 256 bytes. Letters, digits, spaces, plus signs (+), minus signs (-), underscores (_), equal signs (=), dots (.), colons (:), and slashes (/) are supported.
String
No
Status
LifecycleConfiguration.Rule
Indicates whether the rule is enabled. Enumerated values: Enabled, Disabled
String
Yes
Expiration
LifecycleConfiguration.Rule
Expiration attributes of the rule
Container
No
Transition
LifecycleConfiguration.Rule
Specifies when to transition the object and the target storage class.
Container
No
Days
LifecycleConfiguration.Rule.Transition or Expiration
Specifies the number of days between the date an object was last modified and the date when the operation corresponding to the rule is performed.
If it is a Transition operation, this value should be a non-negative integer.
If it is an Expiration operation, this value should be a positive integer. The maximum value is 3650 (days).
Integer
No
ExpiredObjectDeleteMarker
LifecycleConfiguration.Rule.Expiration
Indicates whether the delete marker of an expired object will be removed. Enumerated values: true, false
String
No
AbortIncompleteMultipartUpload
LifecycleConfiguration.Rule
Specifies the time to abort the multipart upload.
Container
No
DaysAfterInitiation
LifecycleConfiguration.Rule.AbortIncompleteMultipartUpload
Specifies the number of days within which the multipart upload must be completed after it starts.
Integer
Yes
NoncurrentVersionExpiration
LifecycleConfiguration.Rule
Specifies when noncurrent object versions shall expire.
Container
No
NoncurrentVersionTransition
LifecycleConfiguration.Rule
Specifies when to transition objects of noncurrent versions and the target storage class.
Container
No
NoncurrentDays
LifecycleConfiguration.Rule.NoncurrentVersionExpiration or NoncurrentVersionTransition
Specifies the number of days between the date when an object becomes noncurrent and the date when the operation corresponding to a rule is performed.
If it is a Transition operation, this value should be a non-negative integer.
If it is an Expiration operation, this value should be a positive integer. The maximum value is 3650 (days).
Integer
No
StorageClass
LifecycleConfiguration.Rule.Transition or NoncurrentVersionTransition
Specifies the storage class of the transitioned object. Enumerated values: STANDARD_IA, MAZ_STANDARD_IA, INTELLIGENT_TIERING, MAZ_INTELLIGENT_TIERING, ARCHIVE, DEEP_ARCHIVE. For more information about storage classes, see Storage Class Overview.
String
Yes

Response

Response headers

This API only returns Common Response Headers.

Response body

The response body is empty.

Error codes

This API returns common error responses and error codes. For more information, see Error Codes.

Examples

Request

PUT /?lifecycle HTTP/1.1
Host:examplebucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Wed, 16 Aug 2017 11:59:33 GMT
Authorization:q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1502855771;1502935771&q-key-time=1502855771;1502935771&q-header-list=content-md5;host&q-url-param-list=lifecycle&q-signature=f3aa2c708cfd8d4d36d658de56973c9cf1c2****
Content-MD5: LcNUuow8OSZMrEDnvndw1Q==
Content-Length: 348
Content-Type: application/x-www-form-urlencoded



<LifecycleConfiguration>
<Rule>
<ID>id1</ID>
<Filter>
<Prefix>documents/</Prefix>
</Filter>
<Status>Enabled</Status>
<Transition>
<Days>100</Days>
<StorageClass>ARCHIVE</StorageClass>
</Transition>
</Rule>
<Rule>
<ID>id2</ID>
<Filter>
<Prefix>logs/</Prefix>
</Filter>
<Status>Enabled</Status>
<Transition>
<Days>10</Days>
<StorageClass>STANDARD_IA</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 0
Date: Wed, 16 Aug 2017 11:59:33 GMT
Server: tencent-cos
x-cos-request-id: NTk5NDMzYTRfMjQ4OGY3Xzc3NGRf****

Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support