本文介绍如何通过轻量消息队列(原 MNS)获取IMM异步任务的执行状态消息。
创建轻量消息队列(原 MNS)相关资源
步骤一:创建轻量消息队列主题
-
在左侧导航栏选择主题列表,并单击创建主题。
-
在创建主题面板设置主题的相关信息,如下以创建名称为tf-test-mns-topic的主题为例。
设置消息最大长度为
65536,启用日志功能选择否。 -
单击确定。
步骤二:创建轻量消息队列(原 MNS)队列
-
在左侧导航栏选择队列列表,并单击创建队列。
-
在创建队列面板设置队列的相关信息,如下以创建名称为tf-test-mns-queue的列队为例。
队列配置参数:消息最大长度设置为 64 KB,长轮询时间设置为 0 秒(即关闭长轮询),消息可见性超时时间设置为 30 秒,消息保存时长设置为 4 天,消息定时时间设置为 0 秒,启用日志功能保持关闭状态。
-
单击确定。
步骤三:关联轻量消息队列(原 MNS)主题与队列
-
在左侧导航栏选择主题列表,并单击步骤一:创建轻量消息队列(原 MNS)主题中创建的主题名称,即tf-test-mns-topic。
-
选择订阅列表,并单击创建订阅。
-
在创建订阅面板,创建名称为tf-test-mns-subscription的订阅,如下所示。
-
订阅类型:选择队列。
-
接收端地址:选择tf-test-mns-queue,即步骤二:创建轻量消息队列(原 MNS)队列中创建的队列名称。
-
消息格式:选择JSON。
-
-
单击确定。
可选:创建OSS资源
如果阿里云OSS中已有相关资源,可以跳过此步骤,自行发起IMM调用。
步骤一:创建Bucket
-
登录OSS管理控制台。
-
在左侧导航栏选择Bucket 列表,并单击创建 Bucket。
-
在创建 Bucket面板,创建名称为tf-test-oss-bucket的Bucket。
步骤二:上传文件
-
登录OSS管理控制台。
-
在左侧导航栏选择Bucket 列表,并单击tf-test-oss-bucket,即步骤一:创建Bucket中创建的Bucket名称。
-
单击上传文件,根据页面提示上传文件1.docx,文件上传完成后即可进行下一步操作。
发起IMM调用
步骤一:创建Project
步骤二:发起IMM调用
-
登录OpenAPI平台。
-
在左侧API列表选择文档处理>CreateOfficeConversionTask接口。
-
填写以下参数信息。
-
ProjectName:填写tf-test-imm-project,即步骤一:创建Project中创建的项目名称。
-
SourceURI:填写oss://tf-test-oss-bucket/1.docx,即步骤二:上传文件中上传或已经存在的OSS源文件的存储地址。
-
TargetURIPrefix:填写oss://tf-test-oss-bucket/output,即文档转换后输出文件的存储地址前缀。
-
TargetType:填写png,即转换输出的目标文件类型。
-
TopicName:填写tf-test-mns-topic,即步骤一:创建轻量消息队列(原 MNS)主题中创建的轻量消息队列(原 MNS)主题名称。
-
-
单击发起调用。
接收轻量消息队列(原 MNS)消息
-
在左侧导航栏选择队列列表,单击tf-test-mns-queue,即步骤二:创建轻量消息队列(原 MNS)队列中创建的队列名称。
-
在队列详情页面右上方单击收发消息。
-
在收发消息页面,单击接收消息,页面会新增一条消息。
接收到的消息记录包含 消息ID、被消费次数、首次消费时间、消息创建时间 和 操作(详情、删除)列。
-
在消息所在行的操作列,单击详情,查看消息详情。
消息详情弹窗中包含基础信息(消息 ID、被消费次数、首次消费时间、消息创建时间、下次可见时间、消息句柄)和消息原始内容区域,其中消息类型为
imm:Task:OfficeConversion,来源为acs.imm,表明 IMM 文档转换任务已成功触发。下方还展示Base64 解码后的消息内容和消息 MD5 内容。
常见问题
为什么收不到轻量消息队列(原 MNS)消息?
无法收到轻量消息队列(原 MNS)消息时,请确认以下信息:
-
检查轻量消息队列(原 MNS)主题和IMM项目是否在同一个地域。
-
检查轻量消息队列(原 MNS)主题和队列是否绑定成功且消息推送格式为JSON。
-
检查是否有多个消费者在同时消费队列。
-
检查IMM项目授权角色是否有发送轻量消息队列(原 MNS)权限,关于授权角色,请参见为项目配置授权角色。