110 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			110 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?php | ||
|  | require_once __DIR__ . '/Common.php'; | ||
|  | 
 | ||
|  | use OSS\OssClient; | ||
|  | use OSS\Core\OssException; | ||
|  | use OSS\Model\LifecycleAction; | ||
|  | use OSS\Model\LifecycleConfig; | ||
|  | use OSS\Model\LifecycleRule; | ||
|  | 
 | ||
|  | $bucket = Common::getBucketName(); | ||
|  | $ossClient = Common::getOssClient(); | ||
|  | if (is_null($ossClient)) exit(1); | ||
|  | 
 | ||
|  | //******************************* Simple Usage *******************************************************
 | ||
|  | 
 | ||
|  | // Set lifecycle configuration
 | ||
|  | $lifecycleConfig = new LifecycleConfig(); | ||
|  | $actions = array(); | ||
|  | $actions[] = new LifecycleAction("Expiration", "Days", 3); | ||
|  | $lifecycleRule = new LifecycleRule("delete obsoleted files", "obsoleted/", "Enabled", $actions); | ||
|  | $lifecycleConfig->addRule($lifecycleRule); | ||
|  | $ossClient->putBucketLifecycle($bucket, $lifecycleConfig); | ||
|  | Common::println("bucket $bucket lifecycleConfig created:" . $lifecycleConfig->serializeToXml()); | ||
|  | 
 | ||
|  | // Get lifecycle configuration
 | ||
|  | $lifecycleConfig = $ossClient->getBucketLifecycle($bucket); | ||
|  | Common::println("bucket $bucket lifecycleConfig fetched:" . $lifecycleConfig->serializeToXml()); | ||
|  | 
 | ||
|  | // Delete bucket lifecycle configuration
 | ||
|  | $ossClient->deleteBucketLifecycle($bucket); | ||
|  | Common::println("bucket $bucket lifecycleConfig deleted"); | ||
|  | 
 | ||
|  | 
 | ||
|  | //***************************** For complete usage, see the following functions  ***********************************************
 | ||
|  | 
 | ||
|  | putBucketLifecycle($ossClient, $bucket); | ||
|  | getBucketLifecycle($ossClient, $bucket); | ||
|  | deleteBucketLifecycle($ossClient, $bucket); | ||
|  | getBucketLifecycle($ossClient, $bucket); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Set bucket lifecycle configuration | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket bucket name | ||
|  |  * @return null | ||
|  |  */ | ||
|  | function putBucketLifecycle($ossClient, $bucket) | ||
|  | { | ||
|  |     $lifecycleConfig = new LifecycleConfig(); | ||
|  |     $actions = array(); | ||
|  |     $actions[] = new LifecycleAction(OssClient::OSS_LIFECYCLE_EXPIRATION, OssClient::OSS_LIFECYCLE_TIMING_DAYS, 3); | ||
|  |     $lifecycleRule = new LifecycleRule("delete obsoleted files", "obsoleted/", "Enabled", $actions); | ||
|  |     $lifecycleConfig->addRule($lifecycleRule); | ||
|  |     $actions = array(); | ||
|  |     $actions[] = new LifecycleAction(OssClient::OSS_LIFECYCLE_EXPIRATION, OssClient::OSS_LIFECYCLE_TIMING_DATE, '2022-10-12T00:00:00.000Z'); | ||
|  |     $lifecycleRule = new LifecycleRule("delete temporary files", "temporary/", "Enabled", $actions); | ||
|  |     $lifecycleConfig->addRule($lifecycleRule); | ||
|  |     try { | ||
|  |         $ossClient->putBucketLifecycle($bucket, $lifecycleConfig); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     print(__FUNCTION__ . ": OK" . "\n"); | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Get bucket lifecycle configuration | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket bucket name | ||
|  |  * @return null | ||
|  |  */ | ||
|  | function getBucketLifecycle($ossClient, $bucket) | ||
|  | { | ||
|  |     $lifecycleConfig = null; | ||
|  |     try { | ||
|  |         $lifecycleConfig = $ossClient->getBucketLifecycle($bucket); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     print(__FUNCTION__ . ": OK" . "\n"); | ||
|  |     print($lifecycleConfig->serializeToXml() . "\n"); | ||
|  | } | ||
|  | 
 | ||
|  | /** | ||
|  |  * Delete bucket lifecycle configuration | ||
|  |  * | ||
|  |  * @param OssClient $ossClient OssClient instance | ||
|  |  * @param string $bucket bucket name | ||
|  |  * @return null | ||
|  |  */ | ||
|  | function deleteBucketLifecycle($ossClient, $bucket) | ||
|  | { | ||
|  |     try { | ||
|  |         $ossClient->deleteBucketLifecycle($bucket); | ||
|  |     } catch (OssException $e) { | ||
|  |         printf(__FUNCTION__ . ": FAILED\n"); | ||
|  |         printf($e->getMessage() . "\n"); | ||
|  |         return; | ||
|  |     } | ||
|  |     print(__FUNCTION__ . ": OK" . "\n"); | ||
|  | } | ||
|  | 
 | ||
|  | 
 |