开发者社区> 问答> 正文

智能媒体管理NodeJS SDK如何使用?

智能媒体管理NodeJS SDK如何使用?

展开
收起
小天使爱美 2020-03-31 12:34:35 1042 0
2 条回答
写回答
取消 提交回答
  • 下载地址 IMM Service 的 NodeJS SDK 让 NodeJS 开发人员可以非常方便地使用 NodeJS 程序操作服务。开发者可以直接使用 npm 添加 SDK。目前,SDK 建议使用 6.x 以上版本,已经开源到 github。

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

    步骤 1 创建阿里云账号 具体方法请参考 阿里云账号注册流程。

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

    步骤 2 获取阿里云访问密钥 为了使用 IMM Service NodeJS SDK,您必须申请阿里云的 访问密钥。

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

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

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

    步骤 4 安装 Imm Service NodeJS SDK $ npm i @alicloud/pop-core --save 步骤 5 创建文档转换任务 API 文档参考:CreateOfficeConversionTask

    const { RPCClient } = require('@alicloud/pop-core'); var client = new RPCClient({ endpoint:'http://imm.cn-hangzhou.aliyuncs.com', accessKeyId: your_app_key_id, accessKeySecret: your_app_key_secret, apiVersion: '2017-09-06' }); try{ var params = { Project: "convertOfficeProject", SrcUri: "oss://preview-office-bucket/docs/input/demo.pptx", TgtType: "vector", TgtUri: "oss://preview-office-bucket/docs/output/demo_pptx" }; var result = await client.request("CreateOfficeConversionTask", params); console.log(result); }catch(err){ console.log(err); } 步骤 6 查询文档转换任务 API 文档参考:GetOfficeConversionTask

    const { RPCClient } = require('@alicloud/pop-core'); // 查询文档转换任务状态 async function getOfficeConversionTask(project, taskId){ var client = new RPCClient({ endpoint:'http://imm.cn-hangzhou.aliyuncs.com', accessKeyId: your_app_key_id, accessKeySecret: your_app_key_secret, apiVersion: '2017-09-06' }); try{ var params = { Project: project, TaskId: taskId }; var result = await client.request("GetOfficeConversionTask", params); console.log(result); }catch(err){ console.log(err); } } getOfficeConversionTask("convertOfficeProject", "taskId") 轮询文档转换任务状态 直到状态不为 Running 或达到设置的次数, 状态为 Finished 返回 true,状态为 Failed 或者达到重试次数返回 false,其他情况抛出异常。

    async function checkTaskFinished(project, taskId, reTryTimes) { var result = {}; while(reTryTimes-- > 0){ await delay(1000); result = await getOfficeConversionTask(project, taskId); if(result && result.Status == "Finished"){ return true; } if(result && result.Status == "Failed"){ return false; } } return false; async function delay(ms) { return new Promise((a, b) => { setTimeout(a, ms); }); } } 若在使用中有疑问,请参考 FAQ,或者进入 钉钉用户群 实时交流。

    2020-03-31 12:52:52
    赞同 展开评论 打赏
  • 了解一下,智能媒体管理

    2020-03-31 12:50:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Egg— 企业级 Node 框架 立即下载
探究 Node.js 的服务端之路 立即下载
一个跨平台的云服务SDK需要什么 立即下载