本文介绍如何安装和快速使用智能媒体管理Java SDK。
前提条件
- 已下载并安装J2SE 6.0及以上版本的Java开发环境。请通过Java官方网站下载相应版本。
- 已创建并获取Access Key。具体操作,请参见获取AccessKey。
- 已开通OSS服务、创建存储空间并上传文件到存储空间。具体操作,请参见OSS控制台使用流程。
- 已开通智能媒体管理服务。具体操作,请参见开通产品。
注意 目前在华东1(杭州)和华东2(上海)地域中,您也可以通过调用OpenImmService接口开通智能媒体管理服务。
- 已创建所需类型的项目。具体操作,请参见创建项目。
快速使用
使用智能媒体管理Java SDK的操作步骤如下:
- 安装智能媒体管理Java SDK。
您可以直接使用Maven依赖添加智能媒体管理Java SDK,只需在pom.xml中加入相应依赖即可。以1.22.0版本为例,在<dependencies>中加入如下内容:注意 请关注产品提供的最新版本Java SDK,查看相关功能并选择使用。
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>[4.4.9,5.0.0)</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-imm</artifactId> <version>1.22.0</version> </dependency>
- 开始一个Java项目。
如下示例以在华东1(杭州)地域中创建文档转换任务为例说明。
import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.imm.model.v20170906.*; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; public class Demo { //初始化IMM客户端。 static IAcsClient client = new DefaultAcsClient(DefaultProfile.getProfile("cn-hangzhou", "your_access_key_id","your_access_key_secret")); //项目名称。请确保已创建该项目且项目类型为文档标准型(DocStarter)。 static String projectName = "immdoctest"; public static void main(String[] args) throws ClientException { //调用文档转换请求。 docConvertDemo(); } public static void docConvertDemo() throws ClientException{ //创建文档转换异步请求任务。 CreateOfficeConversionTaskRequest req = new CreateOfficeConversionTaskRequest(); req.setProject(projectName); //设置待转换文件的OSS URI。 req.setSrcUri("oss://preview-office-bucket/docs/input/demo.pptx"); //设置文件输出格式为vector。 req.setTgtType("vector"); //设置转换后文件的输出路径。 req.setTgtUri("oss://preview-office-bucket/docs/output/demo_pptx"); CreateOfficeConversionTaskResponse res = client.getAcsResponse(req); String taskId = res.getTaskId(); //获取文档转换任务结果,最多轮询30次。 //每次轮询的时间间隔为1秒。 GetOfficeConversionTaskRequest getOfficeConversionTaskRequest = new GetOfficeConversionTaskRequest(); getOfficeConversionTaskRequest.setProject(projectName); getOfficeConversionTaskRequest.setTaskId(taskId); int maxCount = 30; int count = 0; try { while (true) { //轮询的时间间隔,单位为毫秒。 Thread.sleep(1000); GetOfficeConversionTaskResponse getOfficeConversionTaskResponse = client.getAcsResponse(getOfficeConversionTaskRequest); if (!getOfficeConversionTaskResponse.getStatus().equals("Running")) { //输出文档转换任务执行结果。 System.out.println(getOfficeConversionTaskResponse.getTaskId()); System.out.println(getOfficeConversionTaskResponse.getFailDetail().getCode()); System.out.println("Done"); break; } count = count + 1; if(count >= maxCount) { System.out.println("OfficeConversion Timeout for 30 seconds"); break; } System.out.println("Task is still running."); } } catch (InterruptedException e){ e.printStackTrace(); } } }