简介
本文档提供关于版本控制的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
---|---|---|
PUT Bucket versioning | 设置版本控制 | 设置存储桶的版本控制功能 |
GET Bucket versioning | 查询版本控制 | 查询存储桶的版本控制信息 |
设置版本控制
功能说明
设置指定存储桶的版本控制功能(PUT Bucket versioning)。
方法原型
CosResult BucketOp::PutBucketVersioning(const PutBucketVersioningReq& req, PutBucketVersioningResp* resp);
请求示例
qcloud_cos::CosConfig config("./config.json");
qcloud_cos::CosAPI cos(config);
std::string bucket_name = "examplebucket-1250000000";
qcloud_cos::PutBucketVersioningReq req(bucket_name);
qcloud_cos::PutBucketVersioningResp resp;
// 开启版本控制
req.SetStatus(true);
qcloud_cos::CosResult result = cos.PutBucketVersioning(req, &resp);
if (result.IsSucc()) {
// 请求成功
} else {
// 请求失败,可以调用 CosResult 的成员函数输出错误信息,例如 requestID 等
}
参数说明
参数 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
req | PutBucketVersioning 操作的请求 | PutBucketVersioningReq | 是 |
resp | PutBucketVersioning 操作的响应 | PutBucketVersioningResp | 是 |
PutBucketVersioningReq 提供了如下方法开启或暂停版本控制:
void SetStatus(bool is_enable);
查询版本控制
功能说明
查询指定存储桶的版本控制信息(GET Bucket versioning)。
方法原型
CosResult CosAPI::GetBucketVersioning(const GetBucketVersioningReq& request, GetBucketVersioningResp* response);
请求示例
qcloud_cos::CosConfig config("./config.json");
qcloud_cos::CosAPI cos(config);
std::string bucket_name = "examplebucket-1250000000";
qcloud_cos::GetBucketVersioningReq req(bucket_name);
qcloud_cos::GetBucketVersioningResp resp;
qcloud_cos::CosResult result = cos.GetBucketVersioning(req, &resp);
if (result.IsSucc()) {
// 请求成功,通过resp的方法获取版本控制状态
} else {
// 请求失败,可以调用 CosResult 的成员函数输出错误信息,例如 requestID 等
}
参数说明
参数 | 参数描述 | 类型 | 是否必填 |
---|---|---|---|
req | GetBucketVersioning 操作的请求 | GetBucketVersioningReq | 是 |
resp | GetBucketVersioning 操作的响应 | GetBucketVersioningResp | 是 |
GetBucketVersioningResp 提供以下方法获取版本控制状态:
int GetStatus() const;