BOSClient

新建BOSClient

BOSClient是BOS服务的客户端,为开发者与BOS服务进行交互提供了一系列的方法。在使用SDK发起对BOS的请求前,您需要初始化一个BOSClient实例,并对它进行一些必要设置。

  • 基本流程

    1. 确定服务区域,如北京是BCERegionBJ,广州是BCERegionGZ,苏州是BCERegionSU;
    2. 创建一个BCECredentials, 并设置accessKey和secretKey字段;
    3. 创建一个BOSClientConfiguration实例,并设置credentials字段;
    4. 将配置好的BOSClientConfiguration传入BOSClient。
  • 示例代码

    用户可以参考如下代码新建一个BOSClient:

    BCECredentials* credentials = [[BCECredentials alloc] init];
    credentials.accessKey = @"<access key>";
    credentials.secretKey = @"<secret key>";
    
    BOSClientConfiguration* configuration = [[BOSClientConfiguration alloc] init];
    configuration.region = [BCERegion region:BCERegionBJ];
    configuration.credentials = credentials;
    
    BOSClient* client = [[BOSClient alloc] initWithConfiguration:configuration];
    

    注意:region参数只能定义为规定的枚举值,不指定时默认为北京区域。百度智能云目前开放了多区域支持,请参考区域选择说明

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

新建带有STS验证的BOSClient

iOS SDK主要用于移动端开发的场景,而对于移动端的鉴权,如您直接将您的AK/SK泄露给移动端,势必会给账户带来安全隐患,因此推荐您使用STS方式实现移动端的鉴权。STS的详细介绍请参考临时授权访问

使用STS方式需要您在调用API时首先创建带有STS的BOSClient来执行,目前支持通过STS方式调用的BOS API接口请参见STS 服务接口

  • 示例代码:

    BCESTSCredentials* credentials = [[BCESTSCredentials alloc] init];
    credentials.accessKey = @"<access key>"; // 临时返回的AK
    credentials.secretKey = @"<secret key>"; // 临时返回的SK
    credentials.sessionToken = @"<session token>"; // 临时返回的SessionToken
    
    BOSClientConfiguration* configuration = [[BOSClientConfiguration alloc] init];
    configuration.credentials = credentials;
    
    BOSClient* client = [[BOSClient alloc] initWithConfiguration:configuration];
    

    说明:下述代码示例中,均使用原始AK/SK创建BOSClient举例,如您需要使用带有STS验证的BOSClient,可以在创建BOSClient时,按照上述方法执行。

配置HTTPS协议访问BOS

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

configuration.scheme = @"https";

配置BOSClient

如果您需要配置BOSClient的一些细节的参数,可以在构造BOSClient的时候传入BOSClientConfiguration对象。 BOSClientConfiguration是BOS服务的配置类,可以通过BOSClientConfiguration对基本网络参数进行设置。

设置网络参数

您可以使用BOSClientConfiguration对基本网络参数进行设置。

  • 示例代码

    BOSClientConfiguration config = [[BOSClientConfiguration alloc] init];
    
    // 设置HTTP最大连接数为5
    config.maxConurrentConnection = 5;
    
    // 设置TCP连接超时为5秒
    config.connectionTimeout = 5;
    
    // 设置请求最长传输数据时间为60秒
    config.totalTransferTimeout = 60;
    
  • 参数说明

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

参数 说明
authVersion 使用的鉴权算法版本,目前默认值 1
APIVersion 使用BOS API版本,目前默认值 1
scheme 使用的HTTP协议,可取http和https,默认值 http
region 使用BOS服务的区域
endpoint 如果知道明确的服务地址,可以不设置scheme和region等,直接设置endpoint
allowsCellularAccess 是否允许使用蜂窝网络,默认值 NO
connectionTimeout 设置TCP连接超时,默认值 60s
totalTransferTimeout 设置请求最长传输数据时间, 单位秒,默认值7天
maxConurrentConnection 允许打开的最大HTTP连接数。