异步任务轻量消息队列(原 MNS)消息处理示例

本文介绍如何通过轻量消息队列(原 MNS)获取IMM异步任务的执行状态消息。

创建轻量消息队列(原 MNS)相关资源

步骤一:创建轻量消息队列主题

  1. 登录轻量消息队列(原 MNS)管理控制台

  2. 在左侧导航栏选择主题列表,并单击创建主题

  3. 创建主题面板设置主题的相关信息,如下以创建名称为tf-test-mns-topic的主题为例。

    image

  4. 单击确定

步骤二:创建轻量消息队列(原 MNS)队列

  1. 登录轻量消息队列(原 MNS)管理控制台

  2. 在左侧导航栏选择队列列表,并单击创建队列

  3. 创建队列面板设置队列的相关信息,如下以创建名称为tf-test-mns-queue的列队为例。

    image

  4. 单击确定

步骤三:关联轻量消息队列(原 MNS)主题与队列

  1. 登录轻量消息队列(原 MNS)管理控制台

  2. 在左侧导航栏选择主题列表,并单击步骤一:创建轻量消息队列(原 MNS)主题中创建的主题名称,即tf-test-mns-topic,如下图所示。

    image

  3. 选择订阅列表,并单击创建订阅

  4. 创建订阅面板,创建名称为tf-test-mns-subscription的订阅,如下图所示。

    image

  5. 单击确定

可选:创建OSS资源

说明

如果阿里云OSS中已有相关资源,可以跳过此步骤,自行发起IMM调用

步骤一:创建Bucket

  1. 登录OSS管理控制台

  2. 在左侧导航栏选择Bucket列表,并单击创建Bucket

  3. 创建Bucket面板,创建名称为tf-test-oss-bucket的Bucket。

步骤二:上传文件

  1. 登录OSS管理控制台

  2. 在左侧导航栏选择Bucket列表,并单击tf-test-oss-bucket,即步骤一:创建Bucket中创建的Bucket名称。

  3. 单击上传文件,根据页面提示上传文件1.docx,文件上传完成后如下图所示。

    image

发起IMM调用

步骤一:创建Project

  1. 登录IMM管理控制台

  2. 在左侧导航栏选择项目列表,并单击创建项目

  3. 创建项目面板,创建名称为tf-test-imm-project,服务角色为AliyunIMMDefaultRole的项目,如下图所示。

    重要

    如果使用自定义服务角色, 角色权限设置请参见为项目配置授权角色

    image

  4. 单击确定

步骤二:发起IMM调用

  1. 登录OpenAPI平台

  2. 在左侧API列表选择文档处理>CreateOfficeConversionTask接口。

  3. 填写如下图所示的参数信息。

    image

    image

    • 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)主题名称。

  4. 单击发起调用

接收轻量消息队列(原 MNS)消息

  1. 登录轻量消息队列(原 MNS)管理控制台

  2. 在左侧导航栏选择队列列表,单击tf-test-mns-queue,即步骤二:创建轻量消息队列(原 MNS)队列中创建的列队名称,如下图所示。

    image

  3. 队列详情页面右上方单击收发消息,如下图所示。

    image

  4. 收发消息页面,单击接收消息,页面会新增一条消息,如下图所示。

    image

  5. 在消息所在行的操作列,单击详情,查看消息详情,如下图所示。

    1111111

常见问题

为什么收不到轻量消息队列(原 MNS)消息?

无法收到轻量消息队列(原 MNS)消息时,请确认以下信息:

  • 检查轻量消息队列(原 MNS)主题和IMM项目是否在同一个地域。

  • 检查轻量消息队列(原 MNS)主题和队列是否绑定成功且消息推送格式JSON

  • 检查是否有多个消费者在同时消费队列。

  • 检查IMM项目授权角色是否有发送轻量消息队列(原 MNS)权限,关于授权角色,请参见为项目配置授权角色