对象存储BOS

    初始化

    确认Endpoint

    在确认您使用SDK时配置的Endpoint时,可先阅读开发者指南中关于BOS访问域名的部分,理解Endpoint相关的概念。

    百度智能云目前开放了多区域支持,请参考区域选择说明

    目前支持“华北-北京”、“华南-广州”和“华东-苏州”三个区域。北京区域:http://bj.bcebos.com,广州区域:http://gz.bcebos.com,苏州区域:http://su.bcebos.com。 对应信息为:

    访问区域 对应Endpoint
    BJ bj.bcebos.com
    GZ gz.bcebos.com
    SU su.bcebos.com

    获取密钥

    要使用百度智能云BOS,您需要拥有一个有效的 AK(Access Key ID)和SK(Secret Access Key)用来进行签名认证。AK/SK是由系统分配给用户的,均为字符串,用于标识用户,为访问BOS做签名验证。 可以通过如下步骤获得并了解您的AK/SK信息:

    注册百度智能云账号

    创建AK/SK

    新建BosClient

    BosClient是BOS服务的客户端,为开发者与BOS服务进行交互提供了一系列的方法。

    使用AK/SK新建BosClient

    通过AK/SK方式访问BOS,用户可以参考如下代码新建一个BosClient:

    #include <bcesdk/bos/client.h>
    using namespace bcesdk_ns;
    int main() {
        std::string ACCESS_KEY_ID = <your-access-key-id>;                   // 用户的Access Key ID
        std::string SECRET_ACCESS_KEY = <your-secret-access-key>;           // 用户的Secret Access Key
            
        /* 初始化一个Client*/
    
        //设置日志
        FILE *logfp = fopen("sdk.log", "w");
        sdk_set_log_stream(logfp);
        sdk_set_log_level(SDK_LOG_DEBUG);
        //设置客户端
        Client client(ACCESS_KEY_ID, SECRET_ACCESS_KEY);
    }

    在上面代码中,ACCESS_KEY_ID对应控制台中的“Access Key ID”,SECRET_ACCESS_KEY对应控制台中的“Access Key Secret”,获取方式请参考《操作指南 管理ACCESSKEY》。

    上面的方式使用默认域名作为BOS的服务地址,如果用户需要自己指定域名,可以通过传入ENDPOINT参数来指定。

    std::string ACCESS_KEY_ID = <your-access-key-id>;                   // 用户的Access Key ID
    std::string SECRET_ACCESS_KEY = <your-secret-access-key>;           // 用户的Secret Access Key
    std::string ENDPOINT = <domain-name>;                               // 用户自己指定的域名
    
    
    config.endpoint = ENDPOINT;
    Client client(ACCESS_KEY_ID, SECRET_ACCESS_KEY, config);

    注意:ENDPOINT参数只能用指定的包含区域的域名来进行定义,不指定时默认为北京区域http://bj.bcebos.com

    配置HTTPS协议访问BOS

    BOS支持HTTPS传输协议,您可以通过如下两种方式在BOS C++ SDK中使用HTTPS访问BOS服务:

    在endpoint中指明https:

    std::string endpoint = "https://bj.bcebos.com";
    std::string ak = "ak";
    std::string sk = "sk";
    ClientOptions config;
    config.endpoint = endpoint;
    Client client(ak, sk, config);

    配置BosClient

    如果用户需要配置Client的一些细节的参数,可以在构造Client的时候传入ClientOptions对象。 ClientOptions是BOS服务的配置类,可以为客户端配置超时、重试次数等。

    设置网络参数

    用户可以用对ClientOptions基本网络参数进行设置:

    ClientOptions config;
    
    // 设置HTTP请求超时为120秒
    config.timeout = 120;
        
    // 设置额外重试次数
    config.retry = 2;
    
    // 设置并发请求数
    config.max_parallel = 10;

    参数说明

    通过ClientOptions能指定的所有参数如下表所示:

    参数 默认值 说明
    endpoint http://bj.bcebos.com HTTP请求终端
    retry 2 HTTP请求额外的重试次数
    timeout 120 是秒为单位的超时,这个要根据请求类型慎重选取,比如下载一个大文件可能用到比较大的超时
    user_agent cppsdk相关 可以指定请求发送的时候的UA
    max_parallel 10 并发请求接口的默认并发数(也可以直接在调用接口时参数指定)
    multi_part_size 10MB 功能性函数里封装三步上传或者并发下载的块大小
    sign_expire_seconds 1200s 指定签名超时的时间
    上一篇
    安装SDK工具包
    下一篇
    Bucket管理