阅读296 返回首页    go 微软 go windows


SDK使用说明__JAVA SDK_SDK 手册_CDN-阿里云

引入SDK

请在pom.xml文件中增加以下依赖, 准确的SDK版本号, 请参考阿里云官网.

<dependencies>
    <dependency>
       <groupId>com.aliyun</groupId>
       <artifactId>aliyun-java-sdk-cdn</artifactId>
       <version>2.0.1</version>
    </dependency>
</dependencies>

初始化Client

SDK通过IAcsClient的instance来完成openapi的调用, 因此在您发起调用前, 请先初始化IAcsClient实例. 示例代码如下:

public void init() throws ClientException {
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<your accessKey>", "<your accessSecret>");
        //DefaultProfile.addEndpoint("cn-hangzhou-2", "cn-hangzhou-2", "Cdn", "cdn.aliyuncs.com"); //添加自定义endpoint。
        client = new DefaultAcsClient(profile);
        //System.setProperty("http.proxyHost", "127.0.0.1"); //此设置用于设置代理,可用fiddler拦截查看http请求,便于调试。  
        //System.setProperty("http.proxyPort", "8888"); 
    }

初始化请求

发起API调用前, 先初始化对应的请求的request实例, 以DescribeCdnService(查询CDN服务)接口为例, 示例代码如下:

public void requestInitSample() {
        DescribeCdnServiceRequest describeCdnServiceRequest = new DescribeCdnServiceRequest();
        //describeCdnServiceRequest.setProtocol(ProtocolType.HTTPS); //指定访问协议
        //describeCdnServiceRequest.setAcceptFormat(FormatType.JSON); //指定api返回格式
        //describeCdnServiceRequest.setMethod(MethodType.POST); //指定请求方法
        //describeCdnServiceRequest.setRegionId("cn-hangzhou");//指定要访问的Region,仅对当前请求生效,不改变client的默认设置。
        try {
            HttpResponse httpResponse = client.doAction(describeCdnServiceRequest);

            System.out.println(httpResponse.getUrl());
            System.out.println(new String(httpResponse.getContent()));
            //todo something.
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }

}

发起openapi调用并解析结果

利用上一步初始化好的IAcsClient, 您便可以发起openapi调用. IAcsClient提供了两种类型的调用结果返回, 一种方式是通过调用doAction方法获取取得原始的api调用结果, 即返回HttpResponse类型的结果. 示例代码如下:

public void invokeSample() {
        DescribeCdnServiceRequest describeCdnServiceRequest = new DescribeCdnServiceRequest();
        try {
            HttpResponse httpResponse = client.doAction(describeCdnServiceRequest);
            System.out.println(httpResponse.getUrl());
            System.out.println(new String(httpResponse.getContent()));
            //todo something else.

        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }

另一种方式, 通过调用getAcsResponse方法, 获取反序列化后的对象, 示例代码如下:

public void invokeSample() {
        DescribeCdnServiceRequest describeCdnServiceRequest = new DescribeCdnServiceRequest();
        try {
            DescribeCdnServiceResponse describeCdnServiceResponse = client.getAcsResponse(describeCdnServiceRequest);
            //todo something.

        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }

异常类型

  • 当http status>=200且<300 表示API调用成功.
  • 当http status>=300且<500 SDK抛ClientException, 表示客户端错误.
  • 当http status>=500 SDK抛ServerException, 表示服务器端错误.

最后更新:2016-11-23 16:03:56

  上一篇:go 检测IP信息__辅助工具接口_API 手册_CDN-阿里云
  下一篇:go 用户区域分布__JAVA SDK_SDK 手册_CDN-阿里云