规则引擎

IoT规则引擎实现了平台上的数据向用户服务器的流转,可以通过HTTP/2、RPC、MQ等多通道。支持基础规则和高级规则。以下是相关操作说明。

  • 规则名称:用于标识当前新建规则的名称
  • 接收端:留作后续版本使用
  • 处理方法:该产品支持上行数据流转的方法,对应method。包括系统默认、上行服务、上报事件和具有发布权限的自定义topic
  • 传输通道:路由的方式,目前支持Dubbo RPC、HTTP、RabbitMQ、RocketMQ、Kafka
  • 路由配置:传输通道对应的配置信息
  • 规则描述:用户自定添加,选填。

img

1 添加/编辑规则

填写相应信息,即可完成规则的添加或编辑。 img

2 启用/禁用规则

新建规则默认处于启用状态,应用端可接收到规则引擎发送的数据。若禁用,则无法接收到。

3 导出/导入规则

此功能是方便规则迁移,导出的规则不具有产品相关性,可用于导入其他产品。类似功能有产品导出/导入、物模型导出/导入、topic导出/导入。

  • 导出规则,一键复制

部分导出提示

输入搜索关键词,将导出按关键词匹配到的规则。

img

  • 导入规则,将复制好的规则粘贴到此处

img

4 查询规则

可输入规则名称项目名称method来查找规则,将列出模糊匹配到的规则列表。

5 高级规则

高级规则支持数据流转,通过类SQL的编写实现了有条件的数据筛选,再将符合条件的数据流转到用户服务器的功能。以下是具体的操作说明。

入口

进入规则引擎页面,点击规则列表右上角的”高级规则“按钮,进入”高级规则“页面。

img

基础信息

填写高级规则的基础信息,包括规则名称和规则描述。

img

处理数据

这是数据流转的核心,通过编写类SQL语句,达到数据有条件筛选的目的。这里面包含了SELECT、FROM、WHERE的填写或选择和SQL调试功能。

img

(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度,进行数据流转。

img img

转发数据

处理方式与添加规则一致。