CfcClient
所有文档

          函数计算 CFC

          CfcClient

          CfcClient是CFC服务的客户端,为开发者与CFC服务进行交互提供了一系列的方法,包括函数调用、函数创建、获取函数列表等。

          新建CfcClient

          通过AK/SK方式访问CFC

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

          public class Sample {
          public static void main(String[] args){
             String endPoint = "https://cfc.bj.baidubce.com";      //CFC服务端接口地址
             String accessKeyID = "your-access-key-id";            //用户的Access Key ID
             String secretAccessKey = "your-secret-access-key";    //用户的Secret Access Key
          
             BceClientConfiguration config = new BceClientConfiguration()
                          .withCredentials(new DefaultBceCredentials(accessKeyID, secretAccessKey))
                          .withEndpoint(endPoint);
            CfcClient cfcClient = new CfcClient(config);
          }
          }

          在上面的代码中,变量accessKeyID与secretAccessKey是由系统分配给用户的,均为字符串,用于标识用户,为访问CFC做签名验证。其中accessKeyID对应控制台中的"Access Key ID",secretAccessKey对应控制台中的"Access Key Secret",获取方式请参考《操作指南管理ACCESSKEY》。
          用户可以根据需要指定域名,通过endPoint参数来制定。

          配置HTTPS协议访问CFC

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

          • 在endpoint中指明 https:
          String endPoint = "https://cfc.bj.baidubce.com";
          String ak = "ak";
          String sk = "sk";
          BceClientConfiguration config = new BceClientConfiguration()
                          .withCredentials(new DefaultBceCredentials(ak, sk))
                          .withEndpoint(endPoint);
          CfcClient cfcClient = new CfcClient(config);                
          • 通过调用setProtocol方法设置https协议
          String endPoint = "bce.bj.baidubce.com"; //endPoint中不包含protocol
          String ak = "ak";
          String sk = "sk";
          BceClientConfiguration config = new BceClientConfiguration();
          config.setCredentials(new DefaultBceCredentials(ak, sk));
          config.setEndpoint(endPoint);
          config.setProtocol(Protocol.HTTPS); //如果不指明,则使用http
          CfcClient cfcClient = new CfcClient(config); 

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

          String endPoint = "https://bce.bj.baidubce.com"; //endPoint中不包含protocol
          String ak = "ak";
          String sk = "sk";
          BceClientConfiguration config = new BceClientConfiguration();
          config.setCredentials(new DefaultBceCredentials(ak, sk));
          config.setEndpoint(endPoint);
          config.setProtocol(Protocol.HTTPS); //endPoint中已经声明,此为无效操作,对http也是如此
          CfcClient cfcClient = new CfcClient(config); 

          配置CfcClient

          如果用户需要配置CfcClient的一些细节参数,可以在构造CfcClient的时候传入BceClientConfiguration对象。

          使用代理

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

          String accessKeyID = <your-access-key-id>;         // 用户的Access Key ID
          String secretAccessKey = <your-secret-access-key>; // 用户的Secret Access Key
          String endPoint = <domain-name>;                   // 用户自己指定的域名
          
          //创建BceClientConfiguration实例
          BceClientConfiguration config = new BceClientConfiguration();
          
          //配置代理为本地8080端口
          config.setProxyHost("127.0.0.1");
          config.setProxyPort(8080);
          
          //创建CFC客户端
          config.setCredentials(new DefaultBceCredentials(accessKeyID, secretAccessKey));
          config.setEndpoint(endPoint);
          CfcClient cfcClient = new CfcClient(config);

          使用上面的代码段,客户端的所有操作都会通过1127.0.0.1地址的8080端口做代理执行。对于有用户验证的代理,可以通过下面的代码段配置用户名和密码:

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

          设置网络参数

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

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

          参数说明

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

          参数 说明
          UserAgent 用户代理,指HTTP的User-Agent头
          Protocol 连接协议类型
          ProxyDomain 访问NTLM验证的代理服务器的Windows域名
          ProxyHost 代理服务器主机地址
          ProxyPort 代理服务器端口
          ProxyUsername 代理服务器验证的用户名
          ProxyPassword 代理服务器验证的密码
          ProxyPreemptiveAuthenticationEnabled 是否设置用户代理认证
          ProxyWorkstation NTLM代理服务器的Windows工作站名称
          LocalAddress 本地地址
          ConnectionTimeoutInMillis 建立连接的超时时间(单位:毫秒)
          SocketTimeoutInMillis 通过打开的连接传输数据的超时时间(单位:毫秒)
          MaxConnections 允许打开的最大HTTP连接数
          RetryPolicy 连接重试策略
          SocketBufferSizeInBytes Socket缓冲区大小
          StreamBufferSize 流文件缓冲区大小
          上一篇
          初始化
          下一篇
          函数操作