数据流转是规则引擎中处理和转换数据的常见方式。用户可以通过RabbitMQ、Kafka、MQTT、Rest Api这四种方式,将想要的数据转发出去。同时用户可以在 规则链 里面将脏数据行过滤、清洗等操作,以提高数据的质量、提高数据分析的准确性、增强数据的价值、减少冗余和重复数据。
流转的数据格式
参数说明
- deviceId:TK的设备ID
- deviceName:设备名称
- deviceProfileId:产品的ID
- deviceType:产品名称
- 其他:上报的数据
数据过滤
用户需要访问平台规则链菜单的后台管理页面,通过根规则链找到对应的节点,通过编写javascript代码进行数据的 清洗、过滤、修改数据格式 等操作。
RabbitMQ
前置条件:RabbitMQ已安装,如未安装请自行安装。
- 如何配置?
在平台创建RabbitMQ进行数据转发时,建议用户先在RabbitMQ的管理页面,创建自定义的 虚拟主机、队列 和 交换机 并让它们之间形成绑定关系,然后在平台填写使用的RabbitMQ信息。
💡注意:
交换机模式:amq.direct、amp.fanout、amq.headers、amq.match、amq.rabbitmq.trace、amq.topic。队列:在创建时,使用的以上哪种模式创建的,在thingskit数据流转配置时也要输入。
- 如何消费
用户可以通过java编写消费者进行消费,具体示例如下:
Kafka
前置条件:Kafka已安装,如未安装请自行安装。
💡提示:
如用户不想自己创建主题,可以通过设置kafka的参数KAFKA_CFG_AUTO_CREATE_TOPICS_ENABL=true来自动创建不存在的主题。
通过Kafka创建消费者,并定义消费者的topic。以下为通过windows安装Kafka并执行的命令:
如果消费者收到以下信息代表数据流转成功,如下图:
MQTT
前置条件:MQTT Broker已安装,如未安装请自行安装或使用第三方Broker。
以下示例通过 MQTTBox(模拟设备)、MQTTX(模拟消费者)、EMQ(模拟MQTT Broker)、ThingsKit数据流转(模拟生产者) 进行的模拟。
Rest Api
第三方平台需要定义 无需登录 可以直接访问的api接口,且接口请求方式为 POST ,参数接收用@RequestBody 具体示例如下: