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
in the sample request description.This API is used to create a new lifecycle configuration for a bucket. If a lifecycle configuration has already been set for the bucket, the new configuration created with this API will overwrite the existing one.
Note:
Days
andDate
cannot be both specified in the same lifecycle rule. Please pass them to two separate rules. For details, please see the following Sample.- Up to 1,000 lifecycle rules can be added for each bucket.
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
,is the bucket name followed by the APPID, such as examplebucket-1250000000
(see Bucket Overview > Basic Information and Bucket Overview > Bucket Naming Conventions), andis a COS region (see Regions and Access Endpoints). - Authorization: Auth String (See Request Signature for details.)
This API only uses Common Request Headers.
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>
</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 | Whether to enable the rule. 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. Transition operation, this value should be a non-negative integer. Expiration operation, this value should be a positive integer. The maximum value is 3650 (days). |
Integer | No |
Date | LifecycleConfiguration.Rule .Transition or Expiration |
Specifies when the operation corresponding to the rule is performed. Supported formats are 2007-12-01T12:00:00.000Z and 2007-12-01T00:00:00+08:00 . |
String | 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.Transition operation, this value should be a non-negative integer.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 , INTELLIGENT_TIERING , ARCHIVE , DEEP_ARCHIVE . For more information about storage classes, please see Storage Class Overview. |
String | Yes |
This API only returns Common Response Headers.
The response body is empty.
This API returns common error responses and error codes. For more information, please see Error Codes.
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>
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?