生命周期

最近更新时间:2024-08-21 16:32:52

我的收藏

简介

本文档提供关于生命周期的 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,Disabled
rule.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