规则引擎
IoT规则引擎实现了平台上的数据向用户服务器的流转,可以通过HTTP/2、RPC、MQ等多通道。支持基础规则和高级规则。以下是相关操作说明。
- 规则名称:用于标识当前新建规则的名称
- 接收端:留作后续版本使用
- 处理方法:该产品支持上行数据流转的方法,对应
method
。包括系统默认、上行服务、上报事件和具有发布权限的自定义topic - 传输通道:路由的方式,目前支持Dubbo RPC、HTTP、RabbitMQ、RocketMQ、Kafka
- 路由配置:传输通道对应的配置信息
- 规则描述:用户自定添加,选填。
1 添加/编辑规则
填写相应信息,即可完成规则的添加或编辑。
2 启用/禁用规则
新建规则默认处于启用状态,应用端可接收到规则引擎发送的数据。若禁用,则无法接收到。
3 导出/导入规则
此功能是方便规则迁移,导出的规则不具有产品相关性,可用于导入其他产品。类似功能有产品导出/导入、物模型导出/导入、topic导出/导入。
- 导出规则,一键复制
部分导出提示
输入搜索关键词,将导出按关键词匹配到的规则。
- 导入规则,将复制好的规则粘贴到此处
4 查询规则
可输入规则名称或项目名称或method来查找规则,将列出模糊匹配到的规则列表。
5 高级规则
高级规则支持数据流转,通过类SQL的编写实现了有条件的数据筛选,再将符合条件的数据流转到用户服务器的功能。以下是具体的操作说明。
入口
进入规则引擎页面,点击规则列表右上角的”高级规则“按钮,进入”高级规则“页面。
基础信息
填写高级规则的基础信息,包括规则名称和规则描述。
处理数据
这是数据流转的核心,通过编写类SQL语句,达到数据有条件筛选的目的。这里面包含了SELECT、FROM、WHERE的填写或选择和SQL调试功能。
(1)SELECT
用于筛选需要用到的设备上报消息中的参数。可以选择物模型中定义的任意参数,且通过AS对原参数重命名,支持*和4层嵌套数据获取,同时也可以通过自定义函数获取产品Key和设备Id数据。
(2)FROM
通过选择method得到要处理的设备上报消息,不支持上行服务消息。
(3)WHERE
用于设置参数条件,支持=,>=,<=,>,<,!=,NOT,IN,LIKE,AND,OR。如无条件,可以不设置。
(4)SQL调试
填写完SELECT、FROM和WHERE,可以点击”SQL调试“,进入SQL调试页面,输入设备预期上报的消息JSON数据,对SQL进行调试验证,可以实时得到消息处理结果。
举例
获取上报参数的设备ID,颜色和硬件数据里面的温度,如果温度大于50度,进行数据流转。
转发数据
处理方式与添加规则一致。