PUT Bucket lifecycle
API Description
You can use this API to set lifecycle rules for a bucket, so as to periodically delete objects in the bucket.
Method Definition
1. ObsClient->setBucketLifecycle(array $parameter) 2. ObsClient->setBucketLifecycleAsync(array $parameter, callable $callback)
Request Parameter
Field | Type | Optional or Mandatory | Description | ||
|---|---|---|---|---|---|
Bucket | string | Mandatory | Bucket name | ||
Rules | indexed array | Mandatory | Lifecycle rules of the bucket | ||
- | Transitions | indexed array | Optional | List of object transition policies | |
- | StorageClass | string | Mandatory | Storage class of the object after transition NOTE: The Standard storage class is not supported. | |
Date | string or \DateTime | Mandatory when Days is not set | Date when an object will be transitioned. The value must conform to the ISO8601 standards and must be at 00:00 (UTC time), for example, 2018-01-01T00:00:00Z. | ||
Days | integer | Mandatory when Date is not set | Number of days after which an object will be transitioned since its creation. The value must be a positive integer. | ||
- | Expiration | associative array | Optional | Expiration time of an object | |
- | Date | string or \DateTime | Mandatory when Days is not set | Date when an object expires. If the value type is string, the value must conform to the ISO8601 standards and must be at 00:00 (UTC time), for example, 2018-01-01T00:00:00Z. | |
Days | integer | Mandatory when Date is not set | Number of days after which an object expires since its creation. The value must be a positive integer. | ||
ID | string | Optional | Rule ID. It is a 1-255 character string. | ||
Prefix | string | Mandatory | Object name prefix identifying one or more objects to which the rule applies. The value can be empty, indicating that the rule applies to all objects in the bucket. | ||
Status | string | Mandatory | Whether this rule is enabled. Possible values are:
| ||
- | NoncurrentVersionTransitions | indexed array | Optional | List of noncurrent object version transition policies | |
- | StorageClass | string | Mandatory | Storage class of the noncurrent object version after transition | |
NoncurrentDays | integer | Mandatory | Number of days after which an object will be transitioned since it becomes a noncurrent version. The parameter value must be a positive integer. | ||
- | NoncurrentVersionExpiration | associative array | Optional | Expiration time of a noncurrent object version | |
- | NoncurrentDays | integer | Mandatory | Number of days after which an object expires since it becomes a noncurrent version. The field value must be a positive integer. | |

Transitions, Expiration, NoncurrentVersionTransitions, and NoncurrentVersionExpiration cannot be all null.
Returned Result
Field | Type | Description |
|---|---|---|
HttpStatusCode | integer | HTTP status code |
Reason | string | Reason description |
RequestId | string | Request ID returned by the OBS server |
Sample Code
try{ $resp = $obsClient -> setBucketLifecycle([ 'Bucket' => 'bucketname', 'Rules' => [ ['ID' => 'rule1', 'Prefix' => 'prefix1', 'Status' => 'Enabled', 'Expiration' => ['Days' => 60], 'NoncurrentVersionExpiration' => ['NoncurrentDays' => 60]], ['ID' => 'rule2', 'Prefix' => 'prefix2', 'Status' => 'Enabled', 'Expiration' => ['Date' => '2018-12-31T00:00:00Z']] ] ]); printf("RequestId:%s\n", $resp['RequestId']); }catch (Obs\Common\ObsException $obsException){ printf("ExceptionCode:%s\n", $obsException->getExceptionCode()); printf("ExceptionMessage:%s\n", $obsException->getExceptionMessage()); }
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.

