A lifecycle configuration is specified as XML and consists of one or more lifecycle rules. The structure is as follows:
<LifecycleConfiguration>
<Rule>
<ID>**your lifecycle name**</ID>
<Status>Enabled</Status>
<Filter>
<And>
<Prefix>projectA/</Prefix>
<Tag>
<Key>key1</Key>
<Value>value1</Value>
</Tag>
</And>
</Filter>
**transition/expiration actions**
</Rule>
<Rule>
...
</Rule>
</LifecycleConfiguration>
Each rule contains the following:
Days
(after the object's last modified date) or Date
based on which actions are performed on objects.Specify an empty filter, in which case the rule applies to all objects in the bucket.
<LifecycleConfiguration>
<Rule>
<Filter>
</Filter>
<Status>Enabled</Status>
**transition/expiration actions**
</Rule>
</LifecycleConfiguration>
Specify a prefix-based filter so that the rule applies only to objects with the specified prefix. For example, you can filter out objects by the prefix logs/
:
<LifecycleConfiguration>
<Rule>
<Filter>
<Prefix>logs/</Prefix>
</Filter>
<Status>Enabled</Status>
**transition/expiration actions**
</Rule>
</LifecycleConfiguration>
Specify a filter based on key
and value
so that the rule applies only to objects with the specified tag. For example, you can filter out objects by tags key=type
and value=image
:
<LifecycleConfiguration>
<Rule>
<Filter>
<Tag>
<Key>type</Key>
<Value>image</Value>
</Tag>
</Filter>
<Status>Enabled</Status>
**transition/expiration actions**
</Rule>
</LifecycleConfiguration>
In COS, you can combine multiple filters by using AND
. For example, you can filter out objects by the prefix logs/
as well as tags key=type
and value=image
:
<LifecycleConfiguration>
<Rule>
<Filter>
<And>
<Prefix>logs/</Prefix>
<Tag>
<Key>type</Key>
<Value>image</Value>
</Tag>
</And>
</Filter>
<Status>Enabled</Status>
**transition/expiration actions**
</Rule>
</LifecycleConfiguration>
Specify one or more predefined actions in a lifecycle rule so that these actions will be performed when any objects meet the rule.
Specify the Transition
action to transition objects from one storage class to another. For a versioning-enabled bucket, this action applies to the current object version. You can set the transition date to as short as 0 days. For example, you can transition objects to the ARCHIVE storage class in 30 days:
<Transition>
<StorageClass>ARCHIVE</StorageClass>
<Days>30</Days>
</Transition>
Specify the Expiration
action to delete expired objects. For a versioning-disabled bucket, expired objects will be permanently deleted. For a versioning-enabled bucket, expired objects are added with a DeleteMarker
and become the current version. For example, you can delete objects that expire in 30 days:
<Expiration>
<Days>30</Days>
</Expiration>
Note:You cannot specify object tags and clear incomplete multipart uploads at the same time in the same lifecycle rule.
Specify the AbortIncompleteMultipartUpload
action to delete multipart upload tasks with the specified UploadId
if they are not successfully completed within the predefined time period. Then, these tasks cannot be resumed or indexed. For example, you can abort multipart upload tasks not successfully completed within 7 days:
<AbortIncompleteMultipartUpload>
<DaysAfterInitiation>7</DaysAfterInitiation>
</AbortIncompleteMultipartUpload>
In a versioning-enabled bucket, the Transition
action only applies to objects of the latest version, and the Expiration
action only results in adding delete markers to the objects. Therefore, COS provides the following actions for objects of non-current versions:
Specify the NoncurrentVersionTransition
action to transition non-current objects to another storage class at the specified time. For example, you can transition non-current objects to the ARCHIVE
storage class in 30 days:
<NoncurrentVersionTransition>
<StorageClass>ARCHIVE</StorageClass>
<Days>30</Days>
</NoncurrentVersionTransition>
Specify the NoncurrentVersionExpiration
action to delete non-current objects at the specified time. For example, you can delete non-current objects in 30 days:
<NoncurrentVersionExpiration>
<Days>30</Days>
</NoncurrentVersionExpiration>
Specify the ExpiredObjectDeleteMarker
action to clear the remaining delete markers. You can set it to true
or false
. This action is triggered by the NoncurrentVersionExpiration
action. If this feature is enabled, when lifecycle execution deletes the last historical version in the lifecycle of an object, COS will automatically delete the remaining delete markers.
The details are as follows. If the NoncurrentVersionExpiration
action is in effect:
ExpiredObjectDeleteMarker
is enabled.ExpiredObjectDeleteMarker
is enabled (true
), and if so, COS will automatically delete the remaining delete markers; otherwise, COS will not delete them.<ExpiredObjectDeleteMarker>
<Days>true|false</Days>
</ExpiredObjectDeleteMarker>
Days
refers to the number of days since an object was last modified.
ARCHIVE
storage class in 0 days, when the object is uploaded at 2018-01-01 23:55:00 GMT+8, it will be added to the transition queue at 2018-01-02 00:00:00 GMT+8 and transitioned before 2018-01-02 23:59:59 GMT+8.Perform the predefined action on all eligible objects based on the filter on the specified Date
. The date must be in the ISO 8601 format, and the time is always 00:00 GMT+8.
For example, use 2018-01-01T00:00:00+08:00
for January 1, 2018.
Apakah halaman ini membantu?