静态网站

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

    简介

    本文档提供关于静态网站的 API 概览以及 SDK 示例代码。

    API 操作名 操作描述
    PUT Bucket website 设置静态网站 设置存储桶的静态网站配置
    GET Bucket website 查询静态网站配置 查询存储桶的静态网站配置
    DELETE Bucket website 删除静态网站配置 删除存储桶的静态网站配置

    设置静态网站

    功能说明

    PUT Bucket website 用于为存储桶配置静态网站。

    方法原型

    cos_status_t *cos_put_bucket_website(const cos_request_options_t *options,
                                          const cos_string_t *bucket,
                                          cos_website_params_t *website_params,
                                          cos_table_t **resp_header);

    请求示例

    cos_pool_t *pool = NULL;
    int is_cname = 0;
    cos_status_t *status = NULL;
    cos_request_options_t *options = NULL;
    cos_website_params_t  *website_params = NULL;
    cos_website_params_t  *website_result = NULL;
    cos_website_rule_content_t *website_content = NULL;
    cos_table_t *resp_headers = NULL;
    cos_string_t bucket;
    
    //创建内存池
    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);
    
    //创建 website 参数
    website_params = cos_create_website_params(options->pool);
    cos_str_set(&website_params->index, "index.html");
    cos_str_set(&website_params->redirect_protocol, "https");
    cos_str_set(&website_params->error_document, "Error.html");
    
    website_content = cos_create_website_rule_content(options->pool);
    cos_str_set(&website_content->condition_errcode, "404");
    cos_str_set(&website_content->redirect_protocol, "https");
    cos_str_set(&website_content->redirect_replace_key, "404.html");
    cos_list_add_tail(&website_content->node, &website_params->rule_list);
    
    website_content = cos_create_website_rule_content(options->pool);
    cos_str_set(&website_content->condition_prefix, "docs/");
    cos_str_set(&website_content->redirect_protocol, "https");
    cos_str_set(&website_content->redirect_replace_key_prefix, "documents/");
    cos_list_add_tail(&website_content->node, &website_params->rule_list);
    
    website_content = cos_create_website_rule_content(options->pool);
    cos_str_set(&website_content->condition_prefix, "img/");
    cos_str_set(&website_content->redirect_protocol, "https");
    cos_str_set(&website_content->redirect_replace_key, "demo.jpg");
    cos_list_add_tail(&website_content->node, &website_params->rule_list);
    
    // 设置静态网站配置
    status = cos_put_bucket_website(options, &bucket, website_params, &resp_headers);
    log_status(status);
    
    // 销毁内存池
    cos_pool_destroy(pool);

    参数说明

    参数名称 描述 类型
    options COS 请求选项 Struct
    bucket 设置静态网站的存储桶,格式为 BucketName-APPID ,详情请参见 命名规范 String
    website_params 存储桶静态网站配置信息 Struct
    index 指定索引文档 String
    redirect_protocol 指定全站重定向的协议,只能设置为 https String
    error_document 指定通用错误返回 String
    rule_list 设置重定向规则,最多设置100条 RoutingRule list
    condition_errcode 指定重定向错误码,只支持配置4XX返回码,优先级高于 error_document String
    condition_prefix 指定前缀重定向的路径,替换指定的 folder/ String
    redirect_protocol 指定重定向规定的协议,只能设置为 https String
    redirect_replace_key 替换整个 Key 为指定的内容 String
    redirect_replace_key_prefix 替换匹配到的前缀为指定的内容,Conditon 为 KeyPrefixEquals 才可设置 String
    resp_headers 返回 HTTP 响应消息的头域 Struct

    返回结果说明

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

    查询静态网站配置

    功能说明

    GET Bucket website 用于查询与存储桶关联的静态网站配置信息。

    方法原型

    cos_status_t *cos_get_bucket_website(const cos_request_options_t *options,
                                          const cos_string_t *bucket,
                                          cos_website_params_t *website_params,
                                          cos_table_t **resp_header);

    请求示例

    cos_pool_t *pool = NULL;
    int is_cname = 0;
    cos_status_t *status = NULL;
    cos_request_options_t *options = NULL;
    cos_website_params_t  *website_params = NULL;
    cos_website_params_t  *website_result = NULL;
    cos_website_rule_content_t *website_content = NULL;
    cos_table_t *resp_headers = NULL;
    cos_string_t bucket;
    
    //创建内存池
    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);
    
    // 查询静态网站配置
    website_result = cos_create_website_params(options->pool);
    status = cos_get_bucket_website(options, &bucket, website_result, &resp_headers);
    log_status(status);
    
    // 销毁内存池
    cos_pool_destroy(pool);

    参数说明

    参数名称 描述 类型
    options COS 请求选项 Struct
    bucket 查询静态网站配置的存储桶,格式为 BucketName-APPID ,详情请参见 命名规范 String
    website_params 存储桶静态网站配置信息 Struct
    index 指定索引文档 String
    redirect_protocol 指定全站重定向的协议,只能设置为 https String
    error_document 指定通用错误返回 String
    rule_list 设置重定向规则,最多设置100条 RoutingRule list
    condition_errcode 指定重定向错误码,只支持配置4XX返回码,优先级高于 error_document String
    condition_prefix 指定前缀重定向的路径,替换指定的 folder/ String
    redirect_protocol 指定重定向规定的协议,只能设置为 https String
    redirect_replace_key 替换整个 Key 为指定的内容 String
    redirect_replace_key_prefix 替换匹配到的前缀为指定的内容,Conditon 为 KeyPrefixEquals 才可设置 String
    resp_headers 返回 HTTP 响应消息的头域 Struct

    返回结果说明

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

    删除静态网站配置

    功能说明

    DELETE Bucket website 用于删除存储桶中的静态网站配置。

    方法原型

    cos_status_t *cos_delete_bucket_website(const cos_request_options_t *options,
                                              const cos_string_t *bucket,
                                              cos_table_t **resp_header);

    请求示例

    cos_pool_t *pool = NULL;
    int is_cname = 0;
    cos_status_t *status = NULL;
    cos_request_options_t *options = NULL;
    cos_website_params_t  *website_params = NULL;
    cos_website_params_t  *website_result = NULL;
    cos_website_rule_content_t *website_content = NULL;
    cos_table_t *resp_headers = NULL;
    cos_string_t bucket;
    
    //创建内存池
    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);
    
    // 删除静态网站配置
    status = cos_delete_bucket_website(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?

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

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