详情页标题前

腾讯云对象存储版本控制

详情页1

简介

文档提供关于版本控制的 API 概览以及 SDK 示例代码。

API 操作名 操作描述
PUT Bucket versioning 设置版本控制 设置存储桶的版本控制功能
GET Bucket versioning 查询版本控制 查询存储桶的版本控制信息

设置版本控制

功能说明

设置指定存储桶的版本控制功能。

方法原型

cos_status_t *cos_put_bucket_versioning(const cos_request_options_t *options,                                        const cos_string_t *bucket,                                         cos_versioning_content_t *versioning,                                         cos_table_t **resp_headers);

参数说明

参数名称 参数描述 类型
options COS 请求选项 Struct
bucket 存储桶名称,存储桶的命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 String
versioning 版本控制请求操作参数 Struct
status 版本是否开启,枚举值:Suspended,Enabled String
resp_headers 返回 HTTP 响应消息的头域 Struct

返回结果说明

返回结果 描述 类型
code 错误码 Int
error_code 错误码内容 String
error_msg 错误码描述 String
req_id 请求消息 ID String

示例

开启版本控制

#include "cos_http_io.h"#include "cos_api.h"#include "cos_log.h"#include 
// endpoint 是 COS 访问域名信息,详情请参见 https://cloud.tencent.com/document/product/436/6224 文档static char TEST_COS_ENDPOINT[] = "cos.ap-guangzhou.myqcloud.com";// 开发者拥有的项目身份ID/密钥,可在 https://console.cloud.tencent.com/cam/capi 页面获取static char *TEST_ACCESS_KEY_ID; //your secret_idstatic char *TEST_ACCESS_KEY_SECRET; //your secret_key// 开发者访问 COS 服务时拥有的用户维度唯一资源标识,用以标识资源,可在 https://console.cloud.tencent.com/cam/capi 页面获取static char TEST_APPID[] = ""; //your appid//the cos bucket name, syntax: [bucket]-[appid], for example: mybucket-1253666666,可在 https://console.cloud.tencent.com/cos5/bucket 查看static char TEST_BUCKET_NAME[] = ""; 
void log_status(cos_status_t *s){ cos_warn_log("status->code: %d", s->code); if (s->error_code) cos_warn_log("status->error_code: %s", s->error_code); if (s->error_msg) cos_warn_log("status->error_msg: %s", s->error_msg); if (s->req_id) cos_warn_log("status->req_id: %s", s->req_id);}
void init_test_config(cos_config_t *config, int is_cname){ cos_str_set(&config->endpoint, TEST_COS_ENDPOINT); cos_str_set(&config->access_key_id, TEST_ACCESS_KEY_ID); cos_str_set(&config->access_key_secret, TEST_ACCESS_KEY_SECRET); cos_str_set(&config->appid, TEST_APPID); config->is_cname = is_cname;}
void init_test_request_options(cos_request_options_t *options, int is_cname){ options->config = cos_config_create(options->pool); init_test_config(options->config, is_cname); options->ctl = cos_http_controller_create(options->pool, 0);}
void test_put_versioning(){ cos_pool_t *p = NULL; int is_cname = 0; cos_status_t *s = NULL; cos_request_options_t *options = NULL; cos_string_t bucket; cos_table_t *resp_headers = NULL;
//初始化请求选项 cos_pool_create(&p, NULL); options = cos_request_options_create(p); init_test_request_options(options, is_cname); cos_str_set(&bucket, TEST_BUCKET_NAME);
//put bucket versioning cos_versioning_content_t *versioning = NULL; versioning = cos_create_versioning_content(p); cos_str_set(&versioning->status, "Enabled"); s = cos_put_bucket_versioning(options, &bucket, versioning, &resp_headers); if (cos_status_is_ok(s)) { printf("put bucket versioning succeeded\n"); } else { printf("put bucket versioning failed\n"); }
cos_pool_destroy(p);}
int main(int argc, char *argv[]){ // 通过环境变量获取 SECRETID 和 SECRETKEY TEST_ACCESS_KEY_ID = getenv("COS_SECRETID"); TEST_ACCESS_KEY_SECRET = getenv("COS_SECRETKEY");
if (cos_http_io_initialize(NULL, 0) != COSE_OK) { exit(1); }
//set log level, default COS_LOG_WARN cos_log_set_level(COS_LOG_WARN);
//set log output, default stderr cos_log_set_output(NULL);
test_put_versioning();
cos_http_io_deinitialize();
return 0;}

暂停版本控制

#include "cos_http_io.h"#include "cos_api.h"#include "cos_log.h"#include 
// endpoint 是 COS 访问域名信息,详情请参见 https://cloud.tencent.com/document/product/436/6224 文档static char TEST_COS_ENDPOINT[] = "cos.ap-guangzhou.myqcloud.com";// 开发者拥有的项目身份ID/密钥,可在 https://console.cloud.tencent.com/cam/capi 页面获取static char *TEST_ACCESS_KEY_ID; //your secret_idstatic char *TEST_ACCESS_KEY_SECRET; //your secret_key// 开发者访问 COS 服务时拥有的用户维度唯一资源标识,用以标识资源,可在 https://console.cloud.tencent.com/cam/capi 页面获取static char TEST_APPID[] = ""; //your appid//the cos bucket name, syntax: [bucket]-[appid], for example: mybucket-1253666666,可在 https://console.cloud.tencent.com/cos5/bucket 查看static char TEST_BUCKET_NAME[] = ""; 
void log_status(cos_status_t *s){ cos_warn_log("status->code: %d", s->code); if (s->error_code) cos_warn_log("status->error_code: %s", s->error_code); if (s->error_msg) cos_warn_log("status->error_msg: %s", s->error_msg); if (s->req_id) cos_warn_log("status->req_id: %s", s->req_id);}
void init_test_config(cos_config_t *config, int is_cname){ cos_str_set(&config->endpoint, TEST_COS_ENDPOINT); cos_str_set(&config->access_key_id, TEST_ACCESS_KEY_ID); cos_str_set(&config->access_key_secret, TEST_ACCESS_KEY_SECRET); cos_str_set(&config->appid, TEST_APPID); config->is_cname = is_cname;}
void init_test_request_options(cos_request_options_t *options, int is_cname){ options->config = cos_config_create(options->pool); init_test_config(options->config, is_cname); options->ctl = cos_http_controller_create(options->pool, 0);}
void test_put_versioning(){ cos_pool_t *p = NULL; int is_cname = 0; cos_status_t *s = NULL; cos_request_options_t *options = NULL; cos_string_t bucket; cos_table_t *resp_headers = NULL;
//初始化请求选项 cos_pool_create(&p, NULL); options = cos_request_options_create(p); init_test_request_options(options, is_cname); cos_str_set(&bucket, TEST_BUCKET_NAME);
//put bucket versioning cos_versioning_content_t *versioning = NULL; versioning = cos_create_versioning_content(p); cos_str_set(&versioning->status, "Suspended"); s = cos_put_bucket_versioning(options, &bucket, versioning, &resp_headers); if (cos_status_is_ok(s)) { printf("put bucket versioning succeeded\n"); } else { printf("put bucket versioning failed\n"); }
cos_pool_destroy(p);}
int main(int argc, char *argv[]){ // 通过环境变量获取 SECRETID 和 SECRETKEY TEST_ACCESS_KEY_ID = getenv("COS_SECRETID"); TEST_ACCESS_KEY_SECRET = getenv("COS_SECRETKEY");
if (cos_http_io_initialize(NULL, 0) != COSE_OK) { exit(1); }
//set log level, default COS_LOG_WARN cos_log_set_level(COS_LOG_WARN);
//set log output, default stderr cos_log_set_output(NULL);
test_put_versioning();
cos_http_io_deinitialize();
return 0;}

查询版本控制

功能说明

查询指定存储桶的版本控制信息。

方法原型

cos_status_t *cos_get_bucket_versioning(const cos_request_options_t *options,                                        const cos_string_t *bucket,                                         cos_versioning_content_t *versioning,                                         cos_table_t **resp_headers);

参数说明

参数名称 参数描述 类型
options COS 请求选项 Struct
bucket 存储桶名称,存储桶的命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式 String
versioning 版本控制请求操作参数 Struct
status 版本是否开启,枚举值:Suspended,Enabled String
resp_headers 返回 HTTP 响应消息的头域 Struct

返回结果说明

返回结果 描述 类型
code 错误码 Int
error_code 错误码内容 String
error_msg 错误码描述 String
req_id 请求消息 ID String

示例

#include "cos_http_io.h"#include "cos_api.h"#include "cos_log.h"#include 
// endpoint 是 COS 访问域名信息,详情请参见 https://cloud.tencent.com/document/product/436/6224 文档static char TEST_COS_ENDPOINT[] = "cos.ap-guangzhou.myqcloud.com";// 开发者拥有的项目身份ID/密钥,可在 https://console.cloud.tencent.com/cam/capi 页面获取static char *TEST_ACCESS_KEY_ID; //your secret_idstatic char *TEST_ACCESS_KEY_SECRET; //your secret_key// 开发者访问 COS 服务时拥有的用户维度唯一资源标识,用以标识资源,可在 https://console.cloud.tencent.com/cam/capi 页面获取static char TEST_APPID[] = ""; //your appid//the cos bucket name, syntax: [bucket]-[appid], for example: mybucket-1253666666,可在 https://console.cloud.tencent.com/cos5/bucket 查看static char TEST_BUCKET_NAME[] = ""; 
void log_status(cos_status_t *s){ cos_warn_log("status->code: %d", s->code); if (s->error_code) cos_warn_log("status->error_code: %s", s->error_code); if (s->error_msg) cos_warn_log("status->error_msg: %s", s->error_msg); if (s->req_id) cos_warn_log("status->req_id: %s", s->req_id);}
void init_test_config(cos_config_t *config, int is_cname){ cos_str_set(&config->endpoint, TEST_COS_ENDPOINT); cos_str_set(&config->access_key_id, TEST_ACCESS_KEY_ID); cos_str_set(&config->access_key_secret, TEST_ACCESS_KEY_SECRET); cos_str_set(&config->appid, TEST_APPID); config->is_cname = is_cname;}
void init_test_request_options(cos_request_options_t *options, int is_cname){ options->config = cos_config_create(options->pool); init_test_config(options->config, is_cname); options->ctl = cos_http_controller_create(options->pool, 0);}
void test_get_versioning(){ cos_pool_t *p = NULL; int is_cname = 0; cos_status_t *s = NULL; cos_request_options_t *options = NULL; cos_string_t bucket; cos_table_t *resp_headers = NULL;
//初始化请求选项 cos_pool_create(&p, NULL); options = cos_request_options_create(p); init_test_request_options(options, is_cname); cos_str_set(&bucket, TEST_BUCKET_NAME);
//get bucket versioning cos_versioning_content_t *versioning = NULL; versioning = cos_create_versioning_content(p); s = cos_get_bucket_versioning(options, &bucket, versioning, &resp_headers); if (cos_status_is_ok(s)) { printf("put bucket versioning succeeded\n"); printf("bucket versioning status: %s\n", versioning->status.data); } else { printf("put bucket versioning failed\n"); }
cos_pool_destroy(p);}
int main(int argc, char *argv[]){ // 通过环境变量获取 SECRETID 和 SECRETKEY TEST_ACCESS_KEY_ID = getenv("COS_SECRETID"); TEST_ACCESS_KEY_SECRET = getenv("COS_SECRETKEY");
if (cos_http_io_initialize(NULL, 0) != COSE_OK) { exit(1); }
//set log level, default COS_LOG_WARN cos_log_set_level(COS_LOG_WARN);
//set log output, default stderr cos_log_set_output(NULL);
test_get_versioning();
cos_http_io_deinitialize();
return 0;}



对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/145453.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云内容分发网络CDN业务场景

    假设您的网站业务使用自建源站,由于源站性能不足,业务高峰期经常有用户反馈图片加载慢或失败的问题。为了提升源站的响应性能,您可以将静态文件存储在腾讯云 COS 上。同时,考虑到 COS 存储服务器只是部署在部分区域,为了保证全国各地的用户都能够有一个良好的浏览和下载体验,您还可以接入腾讯云 CDN 对存储在 COS 上的文件进行加速分发。 具体需求 根据业务场…

    腾讯云 2023年12月9日
  • 腾讯云轻量应用服务器使用 VNC 方式登录 Linux 实例云小二

    操作场景 VNC 登录是腾讯云为用户提供的一种通过 Web 浏览器远程连接实例的方式。在没有安装或者无法使用远程登录客户端,以及通过其他方式均无法登录的情况下,用户可以通过 VNC 登录连接到实例,观察实例状态,并进行基本的管理操作。 使用限制 VNC 暂时不支持中文输入法以及文件的上传、下载。VNC 登录实例时,需要使用主流浏览器,例如 Chrome,Fi…

    2023年12月9日
  • 腾讯云对象存储删除存储桶

    简介 本文档提供关于删除存储桶的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 DELETE Bucket 删除存储桶 删除指定账号下的空存储桶 删除存储桶 功能说明 删除指定账号下的空存储桶。 方法原型 func (s *BucketService) Delete(ctx context.Context) (*Response, erro…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云对象存储基于标签管理项目资源

    简介 项目管理是基于项目维度对资源进行集中管理。您可以将支持项目功能的云产品资源添加至项目,并通过访问管理(Cloud Access Management,CAM)控制台生成项目策略,然后将项目策略关联至项目相关用户或用户组,以允许用户或用户组拥有项目资源的操作权限。对象存储(Cloud Object Storage,COS)在历史版本控制台上基于项目为用户…

    腾讯云 2023年12月9日
  • 腾讯云对象存储获取图片主色调

    功能概述 对象存储通过数据万象 imageAve 接口获取图片主色调信息。注意 图片处理功能为收费项,由数据万象收取,详细的计费说明请参见数据万象 图片处理费用。 授权说明 授权策略中 action 设置为 cos:GetObject 。查看所有 action。 服务开通 使用该功能将默认为您开通数据万象,并绑定存储桶,无需角色授权,即可直接使用。 使用限制…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。