本文档提供关于生命周期的 API 概览以及 SDK 示例代码。
设置生命周期
功能说明
设置指定存储桶的生命周期配置信息(PUT Bucket lifecycle)。
方法原型
public Guzzle\Service\Resource\Model putBucketLifecycle(array $args = array());
请求示例
示例一:全部对象生成1天后删除
<?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";
}
示例二:某前缀下对象生成1天沉降为归档
<?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";
}
参数说明
参数名称 |
类型 |
描述 |
必填 |
Bucket |
String |
设置生命周期的存储桶,格式:BucketName-APPID |
是 |
Rules |
Array |
生命周期信息列表 |
是 |
Rule |
Array |
生命周期信息 |
是 |
Expiration |
Array |
设置 Object 过期规则,可以指定天数 Days 或者指定日期 Date |
否 |
Transition |
Array |
设置 Object 转换存储类型规则 |
否 |
NoncurrentVersionExpiration |
Array |
设置 历史 Object 过期规则 |
否 |
NoncurrentVersionTransition |
Array |
设置 历史 Object 转换存储类型规则 |
否 |
Filter |
Array |
用于描述规则影响的 Object 集合 |
是 |
Prefix |
String |
过滤的对象的前缀 |
是 |
Status |
String |
设置 Rule 是否启用,可选值为 Enabled 、 Disabled |
是 |
ID |
String |
配置规则的 ID |
是 |
Days |
Int |
设置生效的天数 |
否 |
Date |
Int / String |
设置生效的日期 |
否 |
NoncurrentDays |
Int |
设置非多版本对象生效的天数 |
否 |
StorageClass |
String |
转换的文件的存储类型,STANDARD 、 STANDARD_IA 、 ARCHIVE,默认值:STANDARD |
是 |
查询生命周期
功能说明
查询存储桶的生命周期管理配置(GET Bucket lifecycle)。
方法原型
public Guzzle\Service\Resource\Model getBucketLifecycle(array $args = array());
请求示例
<?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);
}
参数说明
参数名称 |
类型 |
描述 |
是否必填 |
Bucket |
String |
查询生命周期的存储桶,格式:BucketName-APPID |
是 |
返回结果示例
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=
)
)
返回结果说明
参数名称 |
类型 |
描述 |
父节点 |
Rules |
Array |
生命周期信息列表 |
无 |
Rule |
Array |
生命周期信息 |
Rules |
Expiration |
Array |
设置 Object 过期规则,可以指定天数 Days 或者指定日期 Date |
Rule |
Transition |
Array |
设置 Object 转换存储类型规则 |
Rule |
Filter |
Array |
用于描述规则影响的 Object 集合 |
Rule |
Prefix |
String |
过滤的对象的前缀 |
Filter |
Status |
String |
设置 Rule 是否启用,可选值为 Enabled 、 Disabled |
Rule |
ID |
String |
配置规则的 ID |
Rule |
Days |
Int |
设置生效的天数 |
Expiration / Transition |
Date |
Int / String |
设置生效的日期 |
Expiration / Transition |
StorageClass |
String |
转换的文件的存储类型,STANDARD 、 STANDARD_IA 、 ARCHIVE,默认值:STANDARD |
Transition |
删除生命周期
功能说明
删除 Bucket 生命周期管理的配置(DELETE Bucket lifecycle)。
方法原型
public Guzzle\Service\Resource\Model deleteBucketLifecycle(array $args = array());
请求示例
<?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);
}
参数说明
参数名称 |
类型 |
描述 |
是否必填 |
Bucket |
String |
被删除生命周期配置的存储桶,格式:BucketName-APPID |
是 |