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 transited. The value must conform with 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 transited 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 transited 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. |
![](https://support.huaweicloud.com/eu/api-obs_php_sdk_api_en/public_sys-resources/note_3.0-en-us.png)
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.