全部产品
云市场

使用说明

更新时间:2019-06-19 16:04:40

简介

  • 以下文档适用于SDK 3.0.0,与之前的版本不完全兼容,旧版本SDK文档可以这里找到。
  • 本文向您介绍SCA Java SDK的安装、使用及注意事项。
  • 如果您还未开通或者还不了解阿里云SCA服务,请登录SCA产品主页了解。
  • 如果您还未创建AccessKeyId和AccessKeySecret,请到阿里云Access Key管理创建Access Key

SDK 下载

推荐使用Maven管理依赖,以当前最新版本3.0.0为例(最新版本可在 https://github.com/aliyun/aliyun-openapi-java-sdk 找到),在pom.xml中添加如下依赖:

  1. <dependency>
  2. <groupId>com.aliyun</groupId>
  3. <artifactId>aliyun-java-sdk-qualitycheck</artifactId>
  4. <version>3.0.0</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.aliyun</groupId>
  8. <artifactId>aliyun-java-sdk-core</artifactId>
  9. <version>4.0.6</version>
  10. </dependency>

调用示例

  1. import org.junit.Before;
  2. import org.junit.Test;
  3. import com.aliyuncs.DefaultAcsClient;
  4. import com.aliyuncs.IAcsClient;
  5. import com.aliyuncs.exceptions.ClientException;
  6. import com.aliyuncs.exceptions.ServerException;
  7. import com.aliyuncs.http.FormatType;
  8. import com.aliyuncs.http.HttpResponse;
  9. import com.aliyuncs.http.MethodType;
  10. import com.aliyuncs.http.ProtocolType;
  11. import com.aliyuncs.profile.DefaultProfile;
  12. import com.aliyuncs.profile.IClientProfile;
  13. import com.aliyuncs.qualitycheck.model.v20160801.*;
  14. public class TestApi {
  15. IAcsClient client = null;
  16. @Before
  17. public void init() throws ClientException {
  18. // 构建一个 Aliyun Client, 用于发起请求
  19. // 构建Aliyun Client时需要设置AccessKeyId和AccessKeySevcret
  20. // SCA API入口位于华东 1 (杭州) , 这里Region固定填写"cn-hangzhou"
  21. // <ak id>为您自己的access key id
  22. // <ak secret>为您自己的acess key secret
  23. IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<ak Id>", "<ak secret>");
  24. //指定Endpoint,以下值为固定
  25. DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", "Qualitycheck", "qualitycheck.cn-hangzhou.aliyuncs.com");
  26. client = new DefaultAcsClient(profile);
  27. }
  28. /**
  29. * 取得反序列化的实例对象 当http status>=200且<300 表示API调用成功;当http status>=300且<500
  30. * SDK抛ClientException;当http status >=500 SDK 抛 ServerException
  31. * 注意,Request/Response会成对儿出现,其前缀会根据调用的相关接口进行变更,
  32. * 例如调用获取结果接口时使用 GetResultRequest/GetResultResponse
  33. */
  34. @Test
  35. public void uploadDataSample(String aliUid) {
  36. UploadDataRequest req = new UploadDataRequest();
  37. req.setJsonStr("<Upload Data Json>");
  38. try {
  39. UploadDataResponse response = client.getAcsResponse(req);
  40. // do something.
  41. System.out.println(response.getCode());
  42. System.out.println(response.getMessage());
  43. System.out.println(com.alibaba.fastjson.JSON.toJSONString(response));
  44. } catch (ServerException e) {
  45. e.printStackTrace();
  46. } catch (ClientException e) {
  47. e.printStackTrace();
  48. }
  49. }
  50. /**
  51. * 取得原始的api调用结果
  52. * 注意,Request/Response,其前缀会根据调用的相关接口进行变更,
  53. * 例如调用获取结果接口时使用 GetResultRequest/GetResultResponse
  54. */
  55. @Test
  56. public void uploadDataActionSample(String aliUid) {
  57. UploadDataRequest req = new UploadDataRequest();
  58. req.setJsonStr("<Upload Data Json>");
  59. // describeRegionsRequest.setRegionId("cn-hangzhou");//指定要访问的Region,仅对当前请求生效,不改变client的默认设置。
  60. try {
  61. HttpResponse httpResponse = client.doAction(req);
  62. System.out.println(req.getUrl());
  63. System.out.println(httpResponse.getUrl());
  64. System.out.println(new String(httpResponse.getContent()));
  65. // do something.
  66. } catch (ServerException e) {
  67. e.printStackTrace();
  68. } catch (ClientException e) {
  69. e.printStackTrace();
  70. }
  71. }
  72. }