存储桶标签

最后更新时间:2020-03-11 12:03:28

    简介

    本文档提供关于存储桶标签的 API 概览以及 SDK 示例代码。

    API 操作名 操作描述
    PUT Bucket tagging 设置存储桶标签 为已存在的存储桶设置标签
    GET Bucket tagging 查询存储桶标签 查询指定存储桶下已有的存储桶标签
    DELETE Bucket tagging 删除存储桶标签 删除指定的存储桶标签

    设置存储桶标签

    功能说明

    PUT Bucket tagging 用于为已存在的存储桶设置标签。

    方法原型

    cos_status_t *cos_put_bucket_tagging(const cos_request_options_t *options,
                                          const cos_string_t *bucket,
                                          cos_tagging_params_t *tagging_params,
                                          cos_table_t **resp_headers);

    请求示例

    cos_pool_t *pool = NULL;
    int is_cname = 0;
    cos_status_t *status = NULL;
    cos_request_options_t *options = NULL;
    cos_table_t *resp_headers = NULL;
    cos_string_t bucket;
    cos_tagging_params_t *params = NULL;
    cos_tagging_params_t *result = NULL;
    cos_tagging_tag_t *tag = NULL;
    
    //创建内存池
    cos_pool_create(&pool, NULL);
    
    //初始化请求选项
    options = cos_request_options_create(pool);
    options->config = cos_config_create(options->pool);
    cos_str_set(&options->config->endpoint, TEST_COS_ENDPOINT);
    cos_str_set(&options->config->access_key_id, TEST_ACCESS_KEY_ID);
    cos_str_set(&options->config->access_key_secret, TEST_ACCESS_KEY_SECRET);
    cos_str_set(&options->config->appid, TEST_APPID);
    options->config->is_cname = is_cname;
    options->ctl = cos_http_controller_create(options->pool, 0);
    cos_str_set(&bucket, TEST_BUCKET_NAME);
    
    // put tagging
    params = cos_create_tagging_params(pool);
    tag = cos_create_tagging_tag(pool);
    cos_str_set(&tag->key, "age");
    cos_str_set(&tag->value, "18");
    cos_list_add_tail(&tag->node, &params->node);
    
    tag = cos_create_tagging_tag(pool);
    cos_str_set(&tag->key, "name");
    cos_str_set(&tag->value, "xiaoming");
    cos_list_add_tail(&tag->node, &params->node);
    
    // 设置存储桶标签
    status = cos_put_bucket_tagging(options, &bucket, params, &resp_headers);
    log_status(status);
    
    // 销毁内存池
    cos_pool_destroy(pool);

    参数说明

    参数名称 描述 类型
    options COS 请求选项 Struct
    bucket 设置标签的存储桶,格式为 BucketName-APPID ,详情请参见 命名规范 String
    tagging_params 存储桶标签配置信息 Struct
    key 标签的 Key,长度不超过128字节, 支持英文字母、数字、空格、加号、减号、下划线、等号、点号、冒号、斜线 String
    value 标签的 Value,长度不超过256字节, 支持英文字母、数字、空格、加号、减号、下划线、等号、点号、冒号、斜线 String
    resp_headers 返回 HTTP 响应消息的头域 Struct

    返回结果说明

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

    查询存储桶标签

    功能说明

    GET Bucket tagging 用于查询指定存储桶下已有的存储桶标签。

    方法原型

    cos_status_t *cos_get_bucket_tagging(const cos_request_options_t *options,
                                          const cos_string_t *bucket,
                                          cos_tagging_params_t *tagging_params,
                                          cos_table_t **resp_headers);

    请求示例

    cos_pool_t *pool = NULL;
    int is_cname = 0;
    cos_status_t *status = NULL;
    cos_request_options_t *options = NULL;
    cos_table_t *resp_headers = NULL;
    cos_string_t bucket;
    cos_tagging_params_t *params = NULL;
    cos_tagging_params_t *result = NULL;
    cos_tagging_tag_t *tag = NULL;
    
    //创建内存池
    cos_pool_create(&pool, NULL);
    
    //初始化请求选项
    options = cos_request_options_create(pool);
    options->config = cos_config_create(options->pool);
    cos_str_set(&options->config->endpoint, TEST_COS_ENDPOINT);
    cos_str_set(&options->config->access_key_id, TEST_ACCESS_KEY_ID);
    cos_str_set(&options->config->access_key_secret, TEST_ACCESS_KEY_SECRET);
    cos_str_set(&options->config->appid, TEST_APPID);
    options->config->is_cname = is_cname;
    options->ctl = cos_http_controller_create(options->pool, 0);
    cos_str_set(&bucket, TEST_BUCKET_NAME);
    
    // get tagging
    result = cos_create_tagging_params(pool);
    status = cos_get_bucket_tagging(options, &bucket, result, &resp_headers);
    log_status(status);
    
    // 查看结果
    tag = NULL;
    cos_list_for_each_entry(cos_tagging_tag_t, tag, &result->node, node) {
        printf("taging key: %s\n", tag->key.data);
        printf("taging value: %s\n", tag->value.data);
    } 
    
    // 销毁内存池
    cos_pool_destroy(pool);

    参数说明

    参数名称 描述 类型
    options COS 请求选项 Struct
    bucket 查询标签的存储桶,格式为 BucketName-APPID ,详情请参见 命名规范 String
    tagging_params 存储桶标签配置信息 Struct
    key 标签的 Key,长度不超过128字节, 支持英文字母、数字、空格、加号、减号、下划线、等号、点号、冒号、斜线 String
    value 标签的 Value,长度不超过256字节, 支持英文字母、数字、空格、加号、减号、下划线、等号、点号、冒号、斜线 String
    resp_headers 返回 HTTP 响应消息的头域 Struct

    返回结果说明

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

    删除存储桶标签

    功能说明

    DELETE Bucket tagging 用于删除指定存储桶下已有的存储桶标签。

    方法原型

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

    请求示例

    cos_pool_t *pool = NULL;
    int is_cname = 0;
    cos_status_t *status = NULL;
    cos_request_options_t *options = NULL;
    cos_table_t *resp_headers = NULL;
    cos_string_t bucket;
    cos_tagging_params_t *params = NULL;
    cos_tagging_params_t *result = NULL;
    cos_tagging_tag_t *tag = NULL;
    
    //创建内存池
    cos_pool_create(&pool, NULL);
    
    //初始化请求选项
    options = cos_request_options_create(pool);
    options->config = cos_config_create(options->pool);
    cos_str_set(&options->config->endpoint, TEST_COS_ENDPOINT);
    cos_str_set(&options->config->access_key_id, TEST_ACCESS_KEY_ID);
    cos_str_set(&options->config->access_key_secret, TEST_ACCESS_KEY_SECRET);
    cos_str_set(&options->config->appid, TEST_APPID);
    options->config->is_cname = is_cname;
    options->ctl = cos_http_controller_create(options->pool, 0);
    cos_str_set(&bucket, TEST_BUCKET_NAME);
    
    // delete tagging
    status = cos_delete_bucket_tagging(options, &bucket, &resp_headers);
    log_status(status);
    
    // 销毁内存池
    cos_pool_destroy(pool);

    参数说明

    参数名称 描述 类型
    options COS 请求选项 Struct
    bucket 被删除标签的存储桶,格式为 BucketName-APPID ,详情请参见 命名规范 String
    resp_headers 返回 HTTP 响应消息的头域 Struct

    返回结果说明

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

    Was this page helpful?

    本页内容是否解决了您的问题?

    • 完全没帮助
    • 文档较差
    • 文档一般
    • 文档不错
    • 文档很好
    反馈
    帮助