边缘节点上报消息到云端
操作场景
IEF支持从边缘节点上报消息到云端。
您可以将消息发送到边缘节点SystemEventBus(MQTT broker)的自定义Topic中,IEF会将这些数据转发到DIS通道或APIG后端地址。数据转发到DIS通道或者APIG后端地址后,您可以提取这些数据,并对数据进行处理分析。
本章节使用DIS端点作为示例,APIG端点的使用方法类似,主要分如下几个步骤。
购买DIS接入通道
往DIS发消息需要购买DIS接入通道。
- 登录数据接入服务DIS控制台。
- 单击右侧“购买接入通道”,填写对应参数,如下图所示。
图2 购买接入通道
- 单击“立即购买”,确认产品规格无误后,单击“提交”。
创建消息路由
- 登录IEF管理控制台。
- 选择左侧导航栏“边云消息 > 消息路由”。
- 单击页面右上角“创建消息路由”。
- 填写相关参数,如下图所示。
图3 创建消息路由
- 消息路由名称:输入消息路由名称。
消息路由和系统订阅是同一种资源,命名不能冲突。
- 源端点:选择“SystemEventBus”。
- 源端点资源:选择“自定义topic”,选择发送消息的边缘节点,填写topic名称。
- 目的端点:选择创建消息端点创建的端点。
- 目的端点资源:选择购买DIS接入通道中购买的通道。
- 请记录此处的Topic,如图中红框所示。创建成功后,也可以在消息路由列表中“源端点”列查看。
- 自定义Topic后,需将完整的Topic(如图中红框所示)用于消息发送。
- 消息路由名称:输入消息路由名称。
- 单击“创建”。
发送消息
在边缘节点使用MQTT客户端发送消息。
此处需要放到创建消息路由中指定的Topic,如下图所示使用mosquitto_pub发送。
[root@ief-node ~]# mosquitto_pub -t '05e1aef9040010e22fccc009adecb056/nodes/7092ad14-adee-4a09-b969-1505bbdecef5/user/aaa' -d -m '{ "edgemsg": "msgToCloud"}' Client mosq-p5LouPQIW2gx0JPkRF sending CONNECT Client mosq-p5LouPQIW2gx0JPkRF received CONNACK (0) Client mosq-p5LouPQIW2gx0JPkRF sending PUBLISH (d0, q0, r0, m1, '05e1aef9040010e22fccc009adecb056/nodes/7092ad14-adee-4a09-b969-1505bbdecef5/user/aaa', ... (26 bytes)) Client mosq-p5LouPQIW2gx0JPkRF sending DISCONNECT
消息发送后,您可以在消息路由处看到已经成功转发一条消息,如下图所示。
您可以在DIS界面看到有消息流入,如下图所示。
获取数据
数据转发到DIS通道后,您可以提取这些数据,并对数据进行处理分析。DIS的数据获取方法请参见从DIS获取数据。