简介
本文档提供关于生命周期的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
设置生命周期 | 设置存储桶生命周期管理的配置 | |
查询生命周期 | 查询存储桶生命周期管理的配置 | |
删除生命周期 | 删除存储桶生命周期管理的配置 |
设置生命周期
功能说明
设置指定存储桶的生命周期配置信息(PUT Bucket lifecycle)。
方法原型
CosResult CosAPI::PutBucketLifecycle(const PutBucketLifecycleReq& request, PutBucketLifecycleResp* response)
请求示例
qcloud_cos::CosConfig config("./config.json");qcloud_cos::CosAPI cos(config);std::string bucket_name = "examplebucket-1250000000";qcloud_cos::PutBucketLifecycleReq req(bucket_name);qcloud_cos::PutBucketLifecycleResp resp;qcloud_cos::LifecycleRule rule;rule.SetIsEnable(true); // 指明规则是否启用,枚举值:Enabled,Disabledrule.SetId("lifecycle_rule00"); // 用于唯一地标识规则,长度不能超过255个字符qcloud_cos::LifecycleFilter filter;filter.SetPrefix("test");rule.SetFilter(filter); // 指定规则所适用的前缀。匹配前缀的对象受该规则影响,Prefix最多只能有一个qcloud_cos::LifecycleTransition transition; // 规则转换属性transition.SetDays(30);transition.SetStorageClass("Standard_IA");rule.AddTransition(transition);req.AddRule(rule);qcloud_cos::CosResult result = cos.PutBucketLifecycle(req, &resp);if (result.IsSucc()) {// 请求成功} else {// 请求失败,可以调用 CosResult 的成员函数输出错误信息,例如 requestID 等}
参数说明
参数 | 参数描述 | 类型 | 是否必填 |
req | PutBucketLifecycle 操作的请求 | PutBucketLifecycleReq | 是 |
resp | PutBucketLifecycle 操作的响应 | PutBucketLifecycleResp | 是 |
PutBucketLifecycleReq 提供了如下方法设置生命周期规则:
void AddRule(const LifecycleRule& rule);void SetRule(const std::vector<LifecycleRule>& rules);
说明:
LifecycleRule,LifecycleFilter,LifecycleTransition,LifecycleExpiration,LifecycleNonCurrTransition,LifecycleNonCurrExpiration,AbortIncompleteMultipartUpload 等类的定义,请参考 SDK 头文件
include/cos_defines.h
查询生命周期
功能说明
查询存储桶的生命周期管理配置(GET Bucket lifecycle)。
方法原型
CosResult CosAPI::GetBucketLifecycle(const GetBucketLifecycleReq& request, GetBucketLifecycleResp* response);
请求示例
qcloud_cos::CosConfig config("./config.json");qcloud_cos::CosAPI cos(config);std::string bucket_name = "examplebucket-1250000000";qcloud_cos::GetBucketLifecycleReq req(bucket_name);qcloud_cos::GetBucketLifecycleResp resp;qcloud_cos::CosResult result = cos.GetBucketLifecycle(req, &resp);if (result.IsSucc()) {// 请求成功,通过resp获取生命周期规则} else {// 请求失败,可以调用 CosResult 的成员函数输出错误信息,例如 requestID 等}
参数说明
参数 | 参数描述 | 类型 | 是否必填 |
req | GetBucketLifecycle 操作的请求 | GetBucketLifecycleReq | 是 |
resp | GetBucketLifecycle 操作的响应 | GetBucketLifecycleResp | 是 |
GetBucketLifecycleResp 提供如下方法获取生命周期规则:
std::vector<LifecycleRule> GetRules() const;
删除生命周期
功能说明
删除存储桶生命周期管理的配置(DELETE Bucket lifecycle)。
方法原型
CosResult CosAPI::DeleteBucketLifecycle(const DeleteBucketLifecycleReq& request, DeleteBucketLifecycleResp* response);
请求示例
qcloud_cos::CosConfig config("./config.json");qcloud_cos::CosAPI cos(config);std::string bucket_name = "examplebucket-1250000000";qcloud_cos::DeleteBucketLifecycleReq req(bucket_name);qcloud_cos::DeleteBucketLifecycleResp resp;qcloud_cos::CosResult result = cos.DeleteBucketLifecycle(req, &resp);if (result.IsSucc()) {// 请求成功} else {// 请求失败,可以调用 CosResult 的成员函数输出错误信息,例如 requestID 等}
参数说明
参数 | 参数描述 | 类型 | 是否必填 |
req | DeleteBucketLifecycle 操作的请求 | DeleteBucketLifecycleReq | 是 |
resp | DeleteBucketLifecycle 操作的响应 | DeleteBucketLifecycleResp | 是 |