EMQ X 3.2 版本引入了 “规则引擎” 功能,支持在 EMQ X Broker 筛选终端上报的数据,处理后流至后端数据库或其他的消息队列。本篇以具体场景来说明 “如何使用规则引擎将消息转发至 Kafka”
场景介绍
该场景需要将 EMQ X 指定主题下且满足条件的消息桥接到 Kafka 。为了便于后续分析检索,消息内容需要进行拆分。
该场景下设备端上报信息如下:
上报主题:cmd/state/:id,主题中 id 代表车辆客户端识别码
消息体: {
"id": "NXP-058659730253-963945118132721-22", // 客户端识别码
"speed": 32.12, // 车辆速度
"direction": 198.33212, // 行驶方向
"tachometer": 3211, // 发动机转速,数值大于 8000 时才需存储
"dynamical": 8.93, // 瞬时油耗
"location": { // GPS 经纬度数据
"lng": 116.296011,
"lat": 40.005091
},
"ts": 1563268202 // 上报时间
}
当上报数据发动机转速数值大于 8000 时,存储当前信息以便后续分析用户车辆使用情况。
准备工作
创建Kafka主题
./bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --to