BcmClient
所有文档

          云监控 BCM

          BcmClient

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

          新建BcmClient

          使用AK/SK新建BcmClient

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

          public class Sample {
          public static void main(String[] args) {
              String ACCESS_KEY_ID = <your-access-key-id>;                   // 用户的Access Key ID
              String SECRET_ACCESS_KEY = <your-secret-access-key>;           // 用户的Secret Access Key
                  
              // 初始化一个BcmClient
              BcmClientConfiguration config = new BcmClientConfiguration();
              config.setCredentials(new DefaultBceCredentials(ACCESS_KEY_ID, SECRET_ACCESS_KEY));
              BcmClient client = new BcmClient(config);
              }
          }

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

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

          String ACCESS_KEY_ID = <your-access-key-id>;                   // 用户的Access Key ID
          String SECRET_ACCESS_KEY = <your-secret-access-key>;           // 用户的Secret Access Key
          String ENDPOINT = <domain-name>;                               // 用户自己指定的域名
          
          BcmClientConfiguration config = new BcmClientConfiguration();
          config.setCredentials(new DefaultBceCredentials(ACCESS_KEY_ID,SECRET_ACCESS_KEY));
          config.setEndpoint(ENDPOINT);
          BcmClient client = new BcmClient(config);

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

          配置HTTPS协议访问BCM

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

          • 在endpoint中指明https:

            String endpoint = "https://bcm.bj.baidubce.com";
            String ak = "ak";
            String sk = "sk";
            BcmClientConfiguration config = new BcmClientConfiguration();
            config.setCredentials(new DefaultBceCredentials(ak, sk));
            BcmClient client = new BcmClient(config);
          • 通过调用setProtocol方法设置https协议:

            String endpoint = "bcm.bj.baidubce.com"; // endpoint中不包含protocol
            String ak = "ak";
            String sk = "sk";
            BcmClientConfiguration config = new BcmClientConfiguration();
            config.setCredentials(new DefaultBceCredentials(ak, sk));
            config.setEndpoint(ENDPOINT);
            config.setProtocol(Protocol.HTTPS); // 如果不指明, 则使用http
            BcmClient client = new BcmClient(config);

            注意:如果在endpoint中指明了protocol, 则endpoint中的生效, 另外单独再调用setProtocol()不起作用。

            String endpoint = "http://bcm.bj.baidubce.com";
            String ak = "ak";
            String sk = "sk";
            BcmClientConfiguration config = new BcmClientConfiguration();
            config.setCredentials(new DefaultBceCredentials(ak, sk));
            config.setEndpoint(ENDPOINT);    
            config.setProtocol(Protocol.HTTPS); // endpoint中已经指明, 此为无效操作, 对http也是如此
            BcmClient client = new BcmClient(config);

          配置BcmClient

          如果用户需要配置BcmClient的一些细节的参数,可以在构造BcmClient的时候传入BcmClientConfiguration对象。 BcmClientConfiguration是BCM服务的配置类,可以为客户端配置代理,最大连接数等参数。

          使用代理

          下面一段代码可以让客户端使用代理访问BCM服务:

          String ACCESS_KEY_ID = <your-access-key-id>;                   // 用户的Access Key ID
          String SECRET_ACCESS_KEY = <your-secret-access-key>;           // 用户的Secret Access Key
          String ENDPOINT = <domain-name>;                               // 用户自己指定的域名
          
          // 创建BcmClientConfiguration实例
          BcmClientConfiguration config = new BcmClientConfiguration();
          
          // 配置代理为本地8080端口
          config.setProxyHost("127.0.0.1");
          config.setProxyPort(8080);
          
          // 创建BCM客户端
          config.setCredentials(new DefaultBceCredentials(ACCESS_KEY_ID,SECRET_ACCESS_KEY));
          config.setEndpoint(ENDPOINT);
          BcmClient client = new BcmClient(config);

          使用上面的代码段,客户端的所有操作都会通过127.0.0.1地址的8080端口做代理执行。

          对于有用户验证的代理,可以通过下面的代码段配置用户名和密码:

          // 创建BcmClientConfiguration实例
          BcmClientConfiguration config = new BcmClientConfiguration();
              
          // 配置代理为本地8080端口
          config.setProxyHost("127.0.0.1");
          config.setProxyPort(8080);
              
          //设置用户名和密码
          config.setProxyUsername(<username>);                             //用户名
          config.setProxyPassword(<password>);                             //密码

          设置网络参数

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

          BcmClientConfiguration config = new BcmClientConfiguration();
              
          // 设置HTTP最大连接数为10
          config.setMaxConnections(10);
              
          // 设置TCP连接超时为5000毫秒
          config.setConnectionTimeoutInMillis(5000);
              
          // 设置Socket传输数据超时的时间为2000毫秒
          config.setSocketTimeout(2000);

          参数说明

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

          参数 说明
          CnameEnabled 使用cname访问BCM资源
          ConnectionTimeoutInMillis 建立连接的超时时间(单位:毫秒)
          Credentials 客户端用于签署HTTP请求的BCE凭据
          EnableHttpAsyncPut 异步put
          Endpoint 访问域名
          LocalAddress 本地地址
          MaxConnections 允许打开的最大HTTP连接数
          Protocol 连接协议类型
          ProxyDomain 访问NTLM验证的代理服务器的Windows域名
          ProxyHost 代理服务器主机地址
          ProxyPassword 代理服务器验证的密码
          ProxyPort 代理服务器端口
          ProxyPreemptiveAuthenticationEnabled 是否设置用户代理认证
          ProxyUsername 代理服务器验证的用户名
          ProxyWorkstation NTLM代理服务器的Windows工作站名称
          Region 地域
          RetryPolicy 连接重试策略
          SocketBufferSizeInBytes Socket缓冲区大小
          SocketTimeoutInMillis 通过打开的连接传输数据的超时时间(单位:毫秒)
          StreamBufferSize 流文件缓冲区大小
          UserAgent 用户代理,指HTTP的User-Agent头
          RedirectsEnabled 是否开启HTTP重定向。默认开启
          上一篇
          初始化
          下一篇
          查询数据接口