This document provides an overview of APIs and SDK code samples related to lifecycles.
API |
Operation |
Description |
PUT Bucket lifecycle |
Setting lifecycle configuration |
Sets lifecycle for a bucket |
GET Bucket lifecycle |
Querying a lifecycle configuration |
Queries the lifecycle configuration of a bucket |
DELETE Bucket lifecycle |
Deleting a lifecycle configuration |
Deletes the lifecycle configuration of a bucket |
Setting a Lifecycle Configuration
Description
This API (PUT Bucket lifecycle) is used to set the lifecycle configuration for a bucket.
Method prototype
public Guzzle\Service\Resource\Model putBucketLifecycle(array $args = array());
Sample request
Sample 1: Delete all objects with a lifecycle of 1 day
<?php
require dirname(__FILE__) . '/../vendor/autoload.php';
$secretId = "SECRETID";
$secretKey = "SECRETKEY";
$region = "ap-beijing";
$cosClient = new Qcloud\Cos\Client(
array(
'region' => $region,
'schema' => 'https',
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
$result = $cosClient->putBucketLifecycle(array(
'Bucket' => 'examplebucket-1250000000',
'Rules' => array(
array(
'Expiration' => array(
'Days' => 1,
),
'ID' => 'rule01',
'Filter' => array(
'Prefix' => ''
),
'Status' => 'Enabled',
),
)
));
print_r($result);
} catch (\Exception $e) {
echo "$e\n";
}
Sample 2: Transition a prefixed object with a lifecycle of 1 day to ARCHIVE
<?php
require dirname(__FILE__) . '/../vendor/autoload.php';
$secretId = "SECRETID";
$secretKey = "SECRETKEY";
$region = "ap-beijing";
$cosClient = new Qcloud\Cos\Client(
array(
'region' => $region,
'schema' => 'https',
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
$result = $cosClient->putBucketLifecycle(array(
'Bucket' => 'examplebucket-1250000000',
'Rules' => array(
array(
'ID' => 'rule01',
'Filter' => array(
'Prefix' => 'prefix01/'
),
'Status' => 'Enabled',
'Transitions' => array(
array(
'Days' => 1,
'StorageClass' => 'Archive'
),
),
),
)
));
print_r($result);
} catch (\Exception $e) {
echo "$e\n";
}
Parameter description
Parameter |
Type |
Description |
Required |
Bucket |
String |
Bucket for which the lifecycle is configured, in the format of BucketName-APPID |
Yes |
Rules |
Array |
Lifecycle information list |
Yes |
Rules |
Array |
Lifecycle configuration |
Yes |
Expiration |
Array |
Object expiration rule. You can specify an expiration date (Date ) or the number of days before the object expires (Days ). |
No |
Transition |
Array |
Object storage class transitioning rule |
No |
NoncurrentVersionExpiration |
Array |
Expiration rule for historical objects |
No |
NoncurrentVersionTransition |
Array |
Storage class transitioning rule for historica |
No |
Filter |
Array |
Objects to which the rule applies |
Yes |
Prefix |
String |
Prefix used to filter objects |
Yes |
Status |
String |
Whether to enable Rule . Valid values: Enabled , Disabled |
Yes |
ID |
String |
Rule ID |
Yes |
Days |
Int |
Number of valid days before the rule takes effect |
No |
Date |
Int / String |
Date on which the rule takes effect |
No |
NoncurrentDays |
Int |
Number of valid days for a single-version object |
No |
StorageClass |
String |
Storage class to be transitioned to. Valid values: STANDARD (default), STANDARD_IA , ARCHIVE |
Yes |
Querying a Lifecycle Configuration
Description
This API (GET Bucket lifecycle) is used to query the lifecycle configuration of a bucket.
Method prototype
public Guzzle\Service\Resource\Model getBucketLifecycle(array $args = array());
Sample request
<?php
require dirname(__FILE__) . '/../vendor/autoload.php';
$secretId = "SECRETID";
$secretKey = "SECRETKEY";
$region = "ap-beijing";
$cosClient = new Qcloud\Cos\Client(
array(
'region' => $region,
'schema' => 'https',
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
$result = $cosClient->getBucketLifecycle(array(
'Bucket' => 'examplebucket-1250000000'
));
print_r($result);
} catch (\Exception $e) {
echo($e);
}
Parameter description
Parameter |
Type |
Description |
Required |
Bucket |
String |
Bucket for which the lifecycle is queried, in the format of BucketName-APPID |
Yes |
Sample response
Guzzle\Service\Resource\Model Object
(
[data:protected] => Array
(
[Rules] => Array
(
[0] => Array
(
[ID] => id1
[Filter] => Array
(
[Prefix] => documents/
)
[Status] => Enabled
[Transition] => Array
(
[Days] => 200
[StorageClass] => Standard_IA
)
[Expiration] => Array
(
[Days] => 1000
)
)
)
[RequestId] => NWE3YzhlZjNfY2FhMzNiMGFfNDVkNF8yZDIxODE=
)
)
Response description
Parameter Name |
Type |
Description |
Parent Node |
Rules |
Array |
Lifecycle configuration list |
None |
Rules |
Array |
Lifecycle configuration |
Rules |
Expiration |
Array |
Expiration rule for an object. You can specify an expiration date (Date ) or the number of days before the object expires (Days ). |
Rule |
Transition |
Array |
Object storage class transitioning rule |
Rule |
Filter |
Array |
Objects to which the rule applies |
Rule |
Prefix |
String |
Prefix used to filter objects |
Filter |
Status |
String |
Whether to enable Rule . Valid values: Enabled , Disabled |
Rule |
ID |
String |
Rule ID |
Rule |
Days |
Int |
Number of days before the rule takes effect |
Expiration / Transition |
Date |
Int / String |
Date on which the rule takes effect |
Expiration / Transition |
StorageClass |
String |
Storage class to be transitioned to. Valid values: STANDARD (default), STANDARD_IA , ARCHIVE |
Transition |
Deleting a Lifecycle Configuration
Description
This API is used to delete the lifecycle configuration of a bucket.
Method prototype
public Guzzle\Service\Resource\Model deleteBucketLifecycle(array $args = array());
Sample request
<?php
require dirname(__FILE__) . '/../vendor/autoload.php';
$secretId = "SECRETID";
$secretKey = "SECRETKEY";
$region = "ap-beijing";
$cosClient = new Qcloud\Cos\Client(
array(
'region' => $region,
'schema' => 'https',
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
$result = $cosClient->deleteBucketLifecycle(array(
'Bucket' => 'examplebucket-1250000000'
));
print_r($result);
} catch (\Exception $e) {
echo($e);
}
Parameter description
Parameter |
Type |
Description |
Required |
Bucket |
String |
Bucket for which the lifecycle configuration is deleted, in the format of BucketName-APPID |
Yes |
Apakah halaman ini membantu?