QCloudPutBucketLifecycleRequest Class Reference
Inherits from | QCloudBizHTTPRequest |
---|---|
Declared in | QCloudPutBucketLifecycleRequest.h QCloudPutBucketLifecycleRequest.m |
Overview
设置存储桶(Bucket) 生命周期配置的方法.
功能描述
COS 支持以生命周期配置的方式来管理 Bucket 中对象的生命周期. 如果该 Bucket 已配置生命周期, 新的配置的同时则会覆盖原有的配置. 生命周期配置包含一个或多个将应用于一组对象规则的规则集 (其中每个规则为 COS 定义一个操作)。这些操作分为以下两种:转换操作,过期操作.
转换操作,定义对象转换为另一个存储类的时间(例如,您可以选择在对象创建 30 天后将其转换为低频存储类别 ,同 时也支持将数据沉降到归档存储类别.
过期操作,指定 Object 的过期时间,COS 将会自动为用户删除过期的 Object.
关于Bucket 生命周期配置接口的具体描述,请查看 https://cloud.tencent.com/document/product/436/8280
示例
@code
QCloudPutBucketLifecycleRequest* request = [QCloudPutBucketLifecycleRequest new];
// 存储桶名称,格式为 BucketName-APPID
request.bucket = @"examplebucket-1250000000";
__block QCloudLifecycleConfiguration* lifecycleConfiguration =
[[QCloudLifecycleConfiguration alloc] init];
// 规则描述
QCloudLifecycleRule* rule = [[QCloudLifecycleRule alloc] init];
// 用于唯一地标识规则
rule.identifier = @"identifier";
// 指明规则是否启用,枚举值:Enabled,Disabled
rule.status = QCloudLifecycleStatueEnabled;
// Filter 用于描述规则影响的 Object 集合
QCloudLifecycleRuleFilter* filter = [[QCloudLifecycleRuleFilter alloc] init];
// 指定规则所适用的前缀。匹配前缀的对象受该规则影响,Prefix 最多只能有一个
filter.prefix = @"prefix1";
// Filter 用于描述规则影响的 Object 集合
rule.filter = filter;
// 规则转换属性,对象何时转换为 Standard_IA 或 Archive
QCloudLifecycleTransition* transition = [[QCloudLifecycleTransition alloc] init];
// 指明规则对应的动作在对象最后的修改日期过后多少天操作:
transition.days = 100;
// 指定 Object 转储到的目标存储类型,枚举值: STANDARD_IA,ARCHIVE
transition.storageClass = QCloudCOSStorageStandardIA;
rule.transition = transition;
request.lifeCycle = lifecycleConfiguration;
// 生命周期配置
request.lifeCycle.rules = @[rule];
[request setFinishBlock:^(id outputObject, NSError* error) {
// outputObject 包含所有的响应 http 头部
NSDictionary* info = (NSDictionary *) outputObject;
}];
[[QCloudCOSXMLService defaultCOSXML] PutBucketLifecycle:request];