函数计算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 流文件缓冲区大小
    上一篇
    初始化
    下一篇
    函数操作