分享好友 最新动态首页 最新动态分类 切换频道
# 规则引擎使用配置介绍
2024-12-27 03:42

本篇提供两个示例,通过 Dashboard 可视化界面演示规则引擎的创建于使用。

# 规则引擎使用配置介绍

场景描述

该场景中拟设车联网卡车车载传感器通过 主题上报如下 JSON 消息(device_id 为车辆连接客户端的 client_id,同车辆 ID)

 

规则引擎需要将车速大于 60 km/h 的数据发送到 Web Server 进行持久化处理,以便后期结合地理位置进行是否超速判定。

使用 Web Server 持久化设备消息从吞吐性能与消息一致性上考量都略显不足,此处仅为规则引擎体验示例,如有相关场景请尝试数据桥接、直接持久化到数据库等方案。

准备

编写 HTTP 接口,准备接收并处理规则引擎的消息

该部分示例代码如下

 
本地启动服务

使用 Node.js 快速在本地启动服务器

 

此处使用依赖极简代码示例,实际开发中应当有完备的权限校验、数据校验操作。

在资源中创建持久化 API 接口

Dashboard --> 规则引擎 --> 资源 页面点击右上角,点击 新建 按钮,选择 WebHook 资源类型,填入接入地址与认证信息

创建规则

资源创建完毕后我们可以进行规则创建规则引擎 --> 规则 页面中点击 新建 按钮进入规则创建页面。

触发事件选择

选择 消息发布 事件,处理卡车消息上报(发布)时的数据。本示例中我们需要存储的消息如下

 

根据 可用字段 提示, 字段相当于 client_id 可以从上下文中选取, 等信息则从 中选取,规则 SQL 如下

 

该条规则默认处理全部的消息,实际上业务仅需处理 主题下的消息(使用了主题通配符),且 的值应当大于 60,我们给规则加上限定条件

 

使用 SQL 测试功能,输入原始上报数据与相关变量,设置 之后,得到如下输出结果

 
  • 将消息发送到 Web Server

    新建响应动作并选取 发送数据到 Web 服务,选择准备工作中创建的资源,保存该条规则。

    示例测试

    我们成功创建了一条规则,一共包含一个处理动作,动作期望效果如下

    • 向 主题发布消息时,当消息体是符合预期的 JSON 格式且 数值大于 60,规则将命中并向 Web Server 处理后的消息,Web Server 根目录下 文件将新增新增写入该条数据。
使用 Dashboard 中的 Websocket 工具测试

连接成功后向 主题发送如下消息

 

由于 小于预设的 60,查看持久化文件 该条消息并未命中规则。

调整 值为 90,单击发送按钮三次,查看文件 中持久化的消息内容如下

 

至此,我们实现了通过 Web Server 持久化消息到磁盘的业务开发。

场景描述

该场景中需要标记接入 EMQ X 的设备在线状态,在 MySQL 中记录设备上下线日志,同时设备下线时通过 HTTP API 通知告警系统。

MySQL 部分功能仅限企业版

准备

初始化 MySQL 设备表 与 连接记录表

 
在资源中创建 MySQL 连接

Dashboard --> 规则引擎 --> 资源 页面点击右上角,点击 新建 按钮,选择 MySQL 资源类型,填入相关参数创建 MySQL 连接资源,保存配置前可点击 测试连接 进行可用性测试

在资源中创建告警 API 接口

重复资源创建操作,创建 WehHook 类型的资源用于设备下线通知。此处用户可根据业务逻辑自行开发告警服务

创建规则

资源创建完毕后我们可以进行规则创建规则引擎 --> 规则 页面中点击 新建 按钮进入规则创建页面。

触发事件选择

设备上下、线对应的事件分别是 连接完成连接断开,首先选择 连接完成 事件进行上线记录

创建上线处理规则

SQL 测试与动作创建

通过界面上的 可用字段 提示,编写规则 SQL 语句选取 与 如下

 

点击 SQL 测试进行 SQL 输出测试,该条 SQL 执行输出为

 

即响应动作中将拿到上述数据。

新建响应动作并选取 保存数据到 MySQL,选择准备工作中创建的 MySQL 资源,输入 SQL 模板 配置该条数据写入规则,使用类似 的魔法变量可以将规则筛选出来的数据替换进 SQL 语句。

根据 更新设备的 为 1,表示设备在线

 
 
 

点击 新建 完成规则的创建,该条规则包含两个动作。

创建离线处理规则

上一步中我们已经通过 连接完成 触发事件完成了设备上线规则的创建,接下来我们完成设备下线规则创建

触发事件选择 连接断开 ,同样将 与 选择出来,规则 SQL 如下

 

点击 SQL 测试进行 SQL 输出测试,该条 SQL 执行输出为

 

将设备状态置为离线并清空上线时间

新增一个响应动作,选择 保存数据到 MySQL 并编写如下 SQL 模板

 

设备连接表 中插入一条记录,记录设备下线历史

继续新增一个响应动作,这里复用 字段,标记下线原因

 

将下线消息发送到 Web Server,触发业务系统的设备下线通知:**

将下线消息发送到 Web Server,触发业务系统的设备下线通知

新增一个 发送数据到 Web 服务 动作,选择 准备 步骤中创建的 Web 接入点,消息将以 HTTP 请求发送到该接入点。

示例测试

  1. 我们成功创建了两条规则,一共包含五个处理动作,动作期望效果如下
    1. 设备上线时,更改数据库 的 字段 为 ,标记设备在线
    2. 设备上线时,在 插入一条上线记录,包含 与 字段,同时设置 为 标记这是一条上线记录
    3. 设备下线时,更改数据库 的 字段 为 ,标记设备离线
    4. 设备下线时,在 插入一条下线记录,包含 与 字段(标记下线原因,同时设置 为 标记这是一条下线记录
    5. 设备下线时,发送一条请求到 服务网关,网关获取到下线设备的 client_id 与下线原因,做出相应逻辑通知到业务系统。
使用 Dashboard 中的 Websocket 工具测试

切换到 工具 --> Websocket 页面,客户端 ID,用户名,密码均填写 模拟设备接入

连接成功后,分别查看 设备表 与 连接记录表 得到以下数据

设备状态已被更新,连接记录表新增一条离线数据,告警 API 接口应当收到了设备离线数据,此处不再赘述。

最新文章
目前有那些信息流广告(5个搜索引擎信息流广告效果和投放体验)
我们致力于提供一个高质量内容的交流平台。为落实国家互联网信息办公室依法管网、依法办网、依法上网的要求,为完善跟帖评论自律管理,为了保护用户创造的内容、维护开放、真实、专业的平台氛围,我们团队将依据本公约中的条款对注册用户和
百度网站收录提交,百度网站收录提交器
快速提升网站可见度与搜索引擎排名的必备技巧一、理解网站收录的重要性百度作为中国最大的搜索引擎,拥有庞大的用户群体和高度的市场占有率。为了确保您的网站能够被更多潜在用户发现并访问,网站是至关重要的一步。正确的提交方式不仅能加
一步到位,利用AI生成超逼真美女写真,轻松上手!
在这个科技飞速发展的年代,AI的应用已经渗透到我们生活的方方面面。其中,AI绘画、AI写真制作更是得到了广泛的关注。不少小伙伴们都曾幻想过,拥有一张属于自己的专属美女写真,甚至可以用它来当做社交平台的头像,或者送给好友作为惊喜。
Python爬虫入门实战(详细步骤)
爬虫这个功能,我个人理解是什么语言都能写的,只要能正常发送 HTTP 请求,将响应回来的静态页面模版 HTML 上把我们所需要的数据提取出来就可以了,原理很简单,这个东西当然可以手动去统计收集,但是
阿里云助力易点天下实现程序化广告+AI多维度效率提升
  12月12日,在第十二届中国企业全球形象高峰论坛现场,联合阿里云正式发布了在程序化广告领域的多项重要突破,这些成果主要基于阿里云平台PAI、通义大模型以及阿里云+云原生技术生成。  市场研究机构MAGNA最新发布的《全球广告预测》
观山湖区第一高级中学环境好不好
摘要:观山湖区第一高级中学的环境综合评价涵盖了校园设施、教学资源、师资力量等多个方面。小编从升学规划师的角度出发,深入分析学校环境对学长和教育质量的重要性,探讨该校在各方面的表现及其对学生未来发展的潜在影响。观山湖区第一高
遇到纠纷不用慌,“人民调解”帮你忙!“解纷芜优”指引来了
生活中可能遇到矛盾纠纷,如果闹上法庭,不仅要花时间和金钱,还会伤害人与人之间的和气……那么,如何更加妥善高效处理矛盾纠纷呢?快随小编来看看“人民调解”如何省时省心帮助纠纷双方解决问题吧现在可以通过“解纷芜优”在线申请调解啦
甲骨文谈存储:其实一开始我们就是认真的
当人们谈到iPhone的成功最大的因素之一就是软件与硬件最强大的结合。雷军也表示软硬件结合互联网是小米成功的核心。今天甲骨文高调宣布其存储设备并向业 内发出最强音---甲骨文的软件加上甲骨文的存储设备,就是要为企业级数据市场提供最好
青年小店,让城市未来这YOUNG出彩丨青年小店榜样计划(浙江杭州站)圆满举行
杭州,一座创新活力之城、青年友好之城,吸引着大批年轻人前来生活与创业,为大批怀揣梦想与激情的年轻人提供了创业沃土,也承载着不少年轻人的诗和远方。近年来,杭州市积极践行青年优先发展理念,全力支持青年创新创业,吸引众多有志青年
淘宝直播店抽免单如何配置?
抽免单工具是淘宝直播平台提供给商家和主播的一种玩法工具,用户通过对指定商品下单参与活动,可以赢取免单福利,主播可以通过该工具进行直播间福利发放,亦可通过该工具提升成交爆发系数,欢迎各位商家和主播伙伴使用~注意:抽免单工具202
相关文章
推荐文章
发表评论
0评