控制台指南

最佳实践

开发者指南

数据湖存储

API 文档

SDK 文档

文档捉虫大赛火热进行中,好礼多多> HOT

简介

本文档提供关于生命周期的 API 概览以及 SDK 示例代码。

API 操作名 操作描述
PUT Bucket lifecycle 设置生命周期 设置存储桶生命周期管理的配置
GET Bucket lifecycle 查询生命周期 查询存储桶生命周期管理的配置
DELETE Bucket lifecycle 删除生命周期 删除存储桶生命周期管理的配置

设置生命周期

功能说明

设置指定存储桶的生命周期配置信息(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.GetBucketWebsite(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 DeletBucketLifecycle 操作的请求 DelettBucketLifecycleReq
resp DeletBucketLifecycle 操作的响应 DeletBucketLifecycleResp
目录