全部产品
云市场

Java SDK

更新时间:2019-05-31 10:21:02

下载地址

IMM Service 的 Java SDK 让 Java 开发人员可以非常方便地使用 Java 程序操作服务。开发者可以直接使用 Maven 依赖添加 SDK。目前,SDK 支持 J2SE 6.0 及以上版本,已经开源到 github

操作步骤

为快速开始使用 IMM Service Java SDK,请按照如下步骤进行。

步骤 1 创建阿里云账号

具体方法请参考 阿里云账号注册流程

为了更好地使用阿里云服务,建议尽快完成实名认证,否则部分阿里云服务将无法使用。具体实名认证流程,请参考 这里

步骤 2 获取阿里云访问密钥

为了使用 IMM Service Java SDK,您必须申请阿里云的 访问密钥。

登录阿里云 密钥管理页面。选择一对用于 SDK 的访问密钥对。如果没有,请创建一对新访问密钥,且保证它处于启用状态。有关如何创建访问密钥,参见 创建访问密钥

该密钥对会在下面的步骤使用,且需要保管好,不能对外泄露。另外,您可以参考 SDK 配置了解更多 SDK 如何使用访问密钥的信息。

步骤 3 创建项目

在使用 IMM 服务 Java SDK 之前,请先在控制台上创建好项目(Project)。有关如何创建 Project ,参见 创建项目

步骤 4 安装 Java 开发环境

目前,IMM Java SDK 支持 J2SE 6.0 及以上的 Java 运行环境,您可以从 Java 官方网站 下载并按说明安装 Java 开发环境。

步骤 5 安装 Imm Service Java SDK

安装完 Java 开发环境后,您需要安装 IMM Service Java SDK,将下面的依赖加入 pom.xml 。

  1. <dependency>
  2. <groupId>com.aliyun</groupId>
  3. <artifactId>aliyun-java-sdk-core</artifactId>
  4. <version>4.1.2</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.google.code.gson</groupId>
  8. <artifactId>gson</artifactId>
  9. <version>2.8.5</version>
  10. </dependency>
  11. <dependency>
  12. <groupId>com.aliyun</groupId>
  13. <artifactId>aliyun-java-sdk-imm</artifactId>
  14. <version>1.14.0</version>
  15. </dependency>

注意:请关注 github 提供的最新版本,查看相关功能并选择使用。

步骤 6 开始一个新的 Java 项目

  1. import com.aliyuncs.exceptions.ClientException;
  2. import com.aliyuncs.imm.model.v20170906.*;
  3. import com.aliyuncs.profile.DefaultProfile;
  4. import com.aliyuncs.DefaultAcsClient;
  5. import com.aliyuncs.IAcsClient;
  6. public class Demo {
  7. // 初始化 IMM 客户端
  8. static IAcsClient client = new DefaultAcsClient(DefaultProfile.getProfile("cn-shanghai", "your_access_key_id","your_access_key_secret"));
  9. // 项目名称,请确保该项目已经创建
  10. static String projectName = "myproject1";
  11. public static void main(String[] args) throws ClientException {
  12. // 调用文档转换请求
  13. docConvertDemo();
  14. }
  15. public static void docConvertDemo() throws ClientException{
  16. // 创建文档转换异步请求任务
  17. CreateOfficeConversionTaskRequest req = new CreateOfficeConversionTaskRequest();
  18. req.setProject(projectName);
  19. // 设置待转换对文件OSS路径
  20. req.setSrcUri("oss://preview-office-bucket/docs/input/demo.pptx");
  21. // 设置文件输出格式为 vector
  22. req.setTgtType("vector");
  23. // 设置转换后的输出路径
  24. req.setTgtUri("oss://preview-office-bucket/docs/output/demo_pptx");
  25. CreateOfficeConversionTaskResponse res = client.getAcsResponse(req);
  26. String taskId = res.getTaskId();
  27. // 获取文档转换任务结果,最多轮询 30 次
  28. // 每次轮询的间隔为 1 秒
  29. GetOfficeConversionTaskRequest getOfficeConversionTaskRequest = new GetOfficeConversionTaskRequest();
  30. getOfficeConversionTaskRequest.setProject(projectName);
  31. getOfficeConversionTaskRequest.setTaskId(taskId);
  32. int maxCount = 30;
  33. int count = 0;
  34. try {
  35. while (true) {
  36. Thread.sleep(1000); // 1 秒
  37. GetOfficeConversionTaskResponse getOfficeConversionTaskResponse = client.getAcsResponse(getOfficeConversionTaskRequest);
  38. if (!getOfficeConversionTaskResponse.getStatus().equals("Running")) {
  39. // 输出文档转换任务执行结果
  40. System.out.println(getOfficeConversionTaskResponse.getTaskId());
  41. System.out.println(getOfficeConversionTaskResponse.getFailDetail().getCode());
  42. System.out.println("Done");
  43. break;
  44. }
  45. count = count + 1;
  46. if(count >= maxCount) {
  47. System.out.println("OfficeConversion Timeout for 30 seconds");
  48. break;
  49. }
  50. System.out.println("Task is still running.");
  51. }
  52. } catch (InterruptedException e){
  53. e.printStackTrace();
  54. }
  55. }
  56. }

若在使用中有疑问,请参考 FAQ,或者进入 钉钉用户群 实时交流。