详情页标题前

腾讯云对象存储生命周期

详情页1

简介

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

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

设置生命周期

功能说明

设置存储桶的生命周期配置信息。

方法原型

cos_status_t *cos_put_bucket_lifecycle(const cos_request_options_t *options,                                       const cos_string_t *bucket,                                        cos_list_t *lifecycle_rule_list,                                        cos_table_t **resp_headers);

参数说明

参数名称 参数描述 类型
options COS 请求选项 Struct
bucket 存储桶名称,存储桶的命名格式为 BucketName-APPID ,此处填写的存储桶名称必须为此格式 String
lifecycle_rule_list 生命周期规则信息 Struct
id 生命周期规则 ID String
prefix 指定规则所适用的前缀 String
status 指明规则是否启用,枚举值:Enabled,Disabled String
expire 规则过期属性 Struct
days 指明多少天后执行删除操作或转换操作;指明分块上传开始后多少天内必须完成上传 Int
date 指明在何时执行删除操作或转换操作 String
transition 规则转换属性,对象何时转换被转换为 Standard_IA、Archive Struct
storage_class 指定 Object 转储到的目标存储类型,枚举值:Standard_IA、Archive,更多存储类型,请参见 存储类型概述 String
abort 设置允许分块上传保持运行的最长时间 Struct
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_bucket_lifecycle(){ 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);
//设置生命周期信息 cos_list_t rule_list; cos_list_init(&rule_list); cos_lifecycle_rule_content_t *rule_content = NULL;
rule_content = cos_create_lifecycle_rule_content(p); cos_str_set(&rule_content->id, "testrule1"); cos_str_set(&rule_content->prefix, "abc/"); cos_str_set(&rule_content->status, "Enabled"); rule_content->expire.days = 365; cos_list_add_tail(&rule_content->node, &rule_list);
rule_content = cos_create_lifecycle_rule_content(p); cos_str_set(&rule_content->id, "testrule2"); cos_str_set(&rule_content->prefix, "efg/"); cos_str_set(&rule_content->status, "Disabled"); cos_str_set(&rule_content->transition.storage_class, "Standard_IA"); rule_content->transition.days = 999; cos_list_add_tail(&rule_content->node, &rule_list);
rule_content = cos_create_lifecycle_rule_content(p); cos_str_set(&rule_content->id, "testrule3"); cos_str_set(&rule_content->prefix, "xxx/"); cos_str_set(&rule_content->status, "Enabled"); rule_content->abort.days = 1; cos_list_add_tail(&rule_content->node, &rule_list);
//设置生命周期 s = cos_put_bucket_lifecycle(options, &bucket, &rule_list, &resp_headers); log_status(s);
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_bucket_lifecycle();
cos_http_io_deinitialize();
return 0;}

查询生命周期

功能说明

查询存储桶的生命周期管理配置。

方法原型

cos_status_t *cos_get_bucket_lifecycle(const cos_request_options_t *options,                                       const cos_string_t *bucket,                                        cos_list_t *lifecycle_rule_list,                                        cos_table_t **resp_headers);

参数说明

参数名称 参数描述 类型
options COS 请求选项 Struct
bucket 存储桶名称,存储桶的命名格式为 BucketName-APPID ,此处填写的存储桶名称必须为此格式 String
lifecycle_rule_list 生命周期规则信息 Struct
id 生命周期规则 ID String
prefix 规则所适用的前缀 String
status 规则是否启用,枚举值:Enabled,Disabled String
expire 规则过期属性 Struct
days 指明多少天后执行删除操作 Int
date 指明在何时执行删除操作 String
transition 规则转换属性,对象何时转换被转换为 Standard_IA、Archive Struct
days 指明多少天后执行转换操作 Int
date 指明在何时执行转换操作 String
storage_class 指定 Object 转储到的目标存储类型,枚举值:Standard_IA、Archive,更多存储类型,请参见 存储类型概述 String
abort 设置允许分块上传保持运行的最长时间 Struct
days 指明分块上传开始后多少天内必须完成上传 Int
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_bucket_lifecycle(){ 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);
//查询生命周期 cos_list_t rule_list_ret; cos_list_init(&rule_list_ret); s = cos_get_bucket_lifecycle(options, &bucket, &rule_list_ret, &resp_headers); if (cos_status_is_ok(s)) { printf("get bucket lifecycle succeeded\n"); } else { printf("get bucket lifecycle 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_bucket_lifecycle();
cos_http_io_deinitialize();
return 0;}

删除生命周期

功能说明

删除存储桶生命周期管理的配置。

方法原型

cos_status_t *cos_delete_bucket_lifecycle(const cos_request_options_t *options,                                          const cos_string_t *bucket,                                           cos_table_t **resp_headers);

参数说明

参数名称 参数描述 类型
options COS 请求选项 Struct
bucket 存储桶名称,存储桶的命名格式为 BucketName-APPID ,此处填写的存储桶名称必须为此格式 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_delete_bucket_lifecycle(){ 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);
//删除生命周期 s = cos_delete_bucket_lifecycle(options, &bucket, &resp_headers); if (cos_status_is_ok(s)) { printf("delete bucket lifecycle succeeded\n"); } else { printf("delete bucket lifecycle 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_delete_bucket_lifecycle();
cos_http_io_deinitialize();
return 0;}



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

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

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

相关推荐

  • 腾讯云负载均衡计费概述

    本文主要介绍负载均衡 CLB 的计费项、计费模式、计费价格信息,便于您快速了解 CLB 的计费体系。说明:目前腾讯云账户分为标准账户类型(原“带宽上移账户”)和传统账户类型(原“带宽非上移账户”),2020年6月17日零点后注册的账户均为标准账户类型,该时间点前注册的账户请在控制台查看您的账户类型,具体操作请参见 判断账户类型。账户类型区别详情请参见 账户类…

    腾讯云 2023年12月9日
  • 阿里云ECS云服务器手动部署LNMP环境(Ubuntu 20)-云淘科技

    Nginx是一款小巧而高效的Web服务器软件,可帮您在Linux系统下快速方便地搭建出LNMP Web服务环境。本文介绍如何手动在ECS实例上搭建LNMP环境,其中LNMP分别代表Linux、Nginx、MySQL和PHP。 前提条件 已创建ECS实例并为实例分配了公网IP。具体操作,请参见自定义购买实例。 本教程中,创建的ECS实例配置说明如下。建议您与教…

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

    简介 本文档提供关于存储桶标签的 API 概览以及 SDK 示例代码。 API 操作名 操作描述 PUT Bucket tagging 设置存储桶标签 为已存在的存储桶设置标签 GET Bucket tagging 查询存储桶标签 查询指定存储桶下已有的存储桶标签 DELETE Bucket tagging 删除存储桶标签 删除指定的存储桶标签 SDK AP…

    腾讯云 2023年12月9日
  • 腾讯云裸金属云服务器GPU 型实例安装 nvidia-fabricmanager 服务

    操作背景 HCCPNV4h 实例搭载了 A100 GPU 并支持 NvLink & NvSwitch,需额外安装与驱动版本对应的 nvidia-fabricmanager 服务使 GPU 卡间能够互联。若您使用该实例,请参考本文安装 nvidia-fabricmanager 服务,否则可能无法正常使用 GPU 实例。 操作步骤 本文以驱动版本 470…

    2023年12月9日
  • 腾讯云云直播录制文件事件通知

    直播录制是根据推流域名已绑定好的录制模板实时录制直播流画面,并生成对应的录制文件存储到云点播中。而录制回调则用于推送录制文件信息,主要包括录制的开始时间、结束时间、生成的录制文件 ID、录制文件大小和文件下载地址。您需在回调模板中配置录制回调消息接收服务器地址,并将该模板与推流域名进行关联。当直播流触发录制事件后,腾讯云直播后台会将录制文件信息回调到您设置的…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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