Setting Lifecycle Rules
![](https://support.huaweicloud.com/eu/sdk-php-devg-obs/public_sys-resources/notice_3.0-en-us.png)
If you have any questions during development, post them on the Issues page of GitHub. For details about parameters and usage of each API, see API Reference.
You can call ObsClient->setBucketLifecycle to set lifecycle rules for a bucket.
Setting an Object Transition Policy
// Import the dependency library. require 'vendor/autoload.php'; // Import the SDK code library during source code installation. // require 'obs-autoloader.php'; // Declare the namespace. use Obs\ObsClient; // Create an instance of ObsClient. $obsClient = new ObsClient ( [ //Obtain an AK/SK pair using environment variables or import the AK/SK pair in other ways. Using hard coding may result in leakage. //Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/eu/usermanual-ca/ca_01_0003.html. 'key' => getenv('ACCESS_KEY_ID'), 'secret' => getenv('SECRET_ACCESS_KEY'), 'endpoint' => 'https://your-endpoint' ] ); $resp = $obsClient->setBucketLifecycle ( [ 'Bucket' => 'bucketname', 'Rules' => [ [ 'ID' => 'rule1', 'Prefix' => 'prefix1', 'Status' => 'Enabled', // Specify that objects whose names contain the specified prefix will be transitioned to OBS Infrequent Access 30 days after creation. 'Transitions' => [ [ 'StorageClass' => ObsClient::StorageClassWarm, 'Days' => 30 ] ], // Specify that objects whose names contain the specified prefix will be transitioned to OBS Archive after being noncurrent for 30 days. 'NoncurrentVersionTransitions' => [ [ 'StorageClass' => ObsClient::StorageClassCold, 'NoncurrentDays' => 30 ] ] ], [ 'ID' => 'rule2', 'Prefix' => 'prefix2', 'Status' => 'Enabled', // Specify the date when objects whose names contain the specified prefix will be transitioned to OBS Infrequent Access. 'Transitions' => [ [ 'StorageClass' => ObsClient::StorageClassWarm, 'Date' => '2018-12-31T00:00:00Z' ] ] ] ] ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] );
Setting an Object Expiration Time
Sample code:
// Import the dependency library. require 'vendor/autoload.php'; // Import the SDK code library during source code installation. // require 'obs-autoloader.php'; // Declare the namespace. use Obs\ObsClient; // Create an instance of ObsClient. $obsClient = new ObsClient ( [ //Obtain an AK/SK pair using environment variables or import the AK/SK pair in other ways. Using hard coding may result in leakage. //Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/eu/usermanual-ca/ca_01_0003.html. 'key' => getenv('ACCESS_KEY_ID'), 'secret' => getenv('SECRET_ACCESS_KEY'), 'endpoint' => 'https://your-endpoint', ] ); $resp = $obsClient->setBucketLifecycle ( [ 'Bucket' => 'bucketname', 'Rules' => [ [ 'ID' => 'rule1', 'Prefix' => 'prefix1', 'Status' => 'Enabled', // Specify that objects whose names contain the prefix will expire after being created for 60 days. 'Expiration' => [ 'Days' => 60 ], // Specify that objects whose names contain the prefix will expire after becoming noncurrent versions for 60 days. 'NoncurrentVersionExpiration' => [ 'NoncurrentDays' => 60 ] ], [ 'ID' => 'rule2', 'Prefix' => 'prefix2', 'Status' => 'Enabled', // Specify a date when the objects whose name contain the prefix will expire. The value must conform to the ISO8601 standards and must be at 00:00 (UTC time). 'Expiration' => [ 'Date' => '2018-12-31T00:00:00Z' ] ] ] ] ); printf ( "RequestId:%s\n", $resp ['RequestId'] );
![](https://support.huaweicloud.com/eu/sdk-php-devg-obs/public_sys-resources/note_3.0-en-us.png)
Use the Rules parameter to specify the lifecycle rules for a bucket.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.