数据转发到消息服务(MNS)

当需要对设备数据进行复杂或精细化处理,且单个产品下所有设备或指定设备的消息量小于1,000 QPS时,可以使用云产品流转功能将物联网平台数据转发到轻量消息队列(原 MNS) SMQ(Simple Message Queue (formerly MNS))中,服务端再从SMQ主题中订阅消息,实现设备端与服务端之间高性能的消息闭环传输。本文介绍将数据流转到数据目的地的完整流程。

工作原理

image

云产品流转可将同一产品所有设备或指定设备的指定Topic消息,实时转发到SMQ队列已订阅的主题中,您的应用服务器调用SMQ的接口订阅消息。

在上图中:

  • 数据源:支持的Topic类型消息,请参见数据格式

  • SQL表达式:编写SQL表达式来解析和处理设备上报的JSON数据。SQL表达式的语法说明,请参见SQL表达式

    说明

    二进制格式的数据不做解析,直接透传。

  • 数据目的:创建的SMQ主题,用于接收设备数据,该主题的消息都会推送到订阅该主题的SMQ队列中。

使用优势

轻量消息队列(原 MNS)可以保证消息的可靠性,避免了服务端不可用时导致消息丢失。同时,消息服务在处理大量消息并发时,有削峰填谷的作用,保证服务端不会因为突然的并发压力导致服务不可用。物联网平台与SMQ的结合,可以实现设备端与服务端之间高性能的消息闭环传输。

使用限制

  • 物联网平台实例及所在地域支持将数据转发到消息服务(MNS)。支持的地域详细信息,请参见各地域功能说明

  • 目前,新版和旧版云产品流转功能均支持将数据流转到消息服务(MNS)。新版云产品流转使用示例,请参见数据转发到消息服务(新版)

  • 云网关产品和设备,及MQTT型实例下产品和设备,不支持使用云产品流转(旧版)功能。如果流转对应产品和设备的数据,需要使用云产品流转(新版)功能。具体内容,请参见云产品流转(新版)

  • 物联网平台实例下设备消息转发的更多使用限制,请参见使用限制

前提条件

  • 已创建数据转发规则和编写处理数据的SQL,请参见设置数据流转规则

  • 已创建SMQ主题,并在该主题下创建推送类型为HTTP或队列的订阅。SMQ使用方法,请参见轻量消息队列(原 MNS) SMQ(Simple Message Queue (formerly MNS))文档

    重要

    企业版实例中,SMQ主题所在地域必须与该企业版实例所在地域一致。

  • 已在您的业务服务器中使用SMQ云端SDK监听已订阅SMQ主题的MNS队列,才能实现SMQ云端应用接收物联网平台设备消息。

    SMQ云端SDK调用方法,请参见SDK下载和使用中对应SDK的主题使用手册

配置数据转发目的

  1. 登录物联网平台控制台

  2. 实例概览页签的全部环境下,找到对应的实例,单击实例卡片。

  3. 在左侧导航栏,选择消息转发 > 云产品流转

  4. 单击规则对应的查看,进入数据流转规则页面。

    重要

    若当前页面为云产品流转新版页面,需先单击右上角返回旧版,再单击目标规则对应的查看

  5. 单击转发数据一栏对应的添加操作

  6. 添加操作对话框中,选择操作为发送数据到消息服务(MNS)中。按照界面提示,设置其他信息,单击确认

    参数

    描述

    选择操作

    选择发送数据到消息服务(MNS)中

    地域

    选择消息服务所在地域。

    主题

    选择接收数据的SMQ主题。

    SMQ会将接收到的消息发送给该主题下的HTTP和队列类型的订阅。目前,物联网平台推送至SMQ主题的消息,仅可以通过HTTP或队列两种方式订阅。

    您可以单击创建主题,跳转到轻量消息队列(原 MNS)控制台,创建SMQ主题以及订阅。请参见轻量消息队列(原 MNS) SMQ(Simple Message Queue (formerly MNS))文档

    角色

    授权物联网平台将数据写入轻量消息队列(原 MNS)

    如您还未创建相关角色,单击创建RAM角色,跳转到RAM控制台,创建角色和授权策略,请参见创建RAM角色

  7. 回到云产品流转页,单击规则对应的启动按钮启动规则。

后续操作

  • 您可在物联网平台控制台对应实例下监控运维 > 日志服务页面的云端运行日志页签,查看设备到云消息云产品流转的运行日志。具体操作,请参见云端运行日志

  • 您可登录消息服务MNS控制台,查看MNS主题推送到队列的消息。具体操作,请参见接收消息

相关文档

  • 设备接入物联网平台上报数据的操作指导,请参见设备接入引导

  • 您可在实例详情页面,查看消息转发TPS可用资源,确保设备消息能正常转发到消息服务MNS进行消费。具体操作,请参见查看实例信息和运行数据。如果可用资源不足,可进行升配。具体内容,请参见升配

  • 查看MNS主题监控项,了解接收消息的数量。具体操作,请参见查看主题监控项

  • 您可以使用日志管理功能将消息主题的消息操作日志推送到日志服务Log Service。当消息的消费确认出现异常时,您可以通过MessageId查询消息轨迹等信息,从而进行异常诊断。具体内容,请参见推送日志到Log Service查看日志Log Service