创建规则引擎

可视化创建方式的创建规则

可视化组件分三类:输入类、语句类 、输出类;可以把组件拖入到画布中然后进行配置规则。

输入类

设备数据:选择配置哪个设备产品,这里只可以选择配置“服务定义”的产品。

语句类

选择字段:规则需要输出的属性。

选择条件:数据清洗的条件。

分组:数据通过属性进行分组属性的配置。

关联:两个产品之间进行数据关联的配置。

输出类

输出子流:输出设置别名

操作步骤:

1、单击“规则引擎”

2、单击“创建规则”按钮单击“可视化创建”按钮。

3、左侧中有简单规则和组合规则模板。简单规则是对单流数据进行规则定义。组合规则是对多流数据进行多规则结果进行“and”并集的处理,当多流中所有规则同时满足条件时数据才输出,否则数据为空。

简单规则

模板如下所示:

配置模板中各组件的信息,请依次从左向右进行操作;具体如下:

  ![](/assets/import_view_3.png)

4、单击右上角“保存”按钮。

简单规则SQL测试

规则:SELECT COLA AS AA,COLB AS BB,COLC AS CC FROM ruleengine_300_10000085 WHERE AA < 3

测试数据:{"COLD":"NO","COLC":"Y","COLB":"B","COLA":1}

执行结果:{"AA":1.0,"BB":"B","CC":"Y"}

【设备数据】单流

【选择字段】

  可选字段COLA、COLB、COLC

【选择条件】a<3

字符串测试

规则:SELECT a,b,c FROM ruleengine_300_10000091 WHERE c = 'string_test'

测试数据:{"a":"abc","b":"ABC","c":"string_test"}

执行结果:{"a":"abc","b":"ABC","c":"string_test"}

【设备数据】字符串

【选择字段】

可选字段:a,b,c

【选择条件】c = string_test

自定义函数

规则:SELECT humidity,deviceId() AS dId,deviceType() AS dType,uploadTimestamp(),topic() FROM ruleengine_300_10000108 WHERE humidity > 50

测试数据:{"temperature":30,"humidity":60.4567890}

执行结果:{"func-uploadTimestamp":1573198555976,"dType":"testType","humidity":60.4567890,"topic":"v1/up/ad","dId":"TestDeviceId"}

【设备数据】自定义函数

【选择字段】

可选字段:humidity

自定义函数列表1:获取设备id AS dId

自定义函数列表2:获取设备类型 AS dType

自定义函数列表3:获取消息上报时间

自定义函数列表4:获取消息标题

自定义函数列表5:设备上传消息的内容

【选择条件】humidity>50

自定义条件

规则:SELECT num, nu FROM ruleengine_10037279_10001447 WHERE num > 1 AND "$device$GroupId$" = 571

测试数据:{"nu":12,"num":10,"$device$GroupId$":571}

执行结果:{"num":10,"nu":12}

【设备数据】conan

【选择字段】

可选字段:num

可选字段:nu

【选择条件】num>1 AND "$device$GroupId$" = 571

组合规则

模板如下:

组合规则的数据流最少2条,最多5条。组合的方式仅支持and的方式。“+”操作为添加一条流但是数据流相关配置需要用户按照“简单规则”配置的方式进行相关配置,“-”操作为减去此数据流。

组合规则测试

规则:{SELECT a FROM ruleengine_300_434 WHERE deviceId() ='40c33a551871424eb8b2aac340020528'} and {SELECT qwe FROM ruleengine_300_10001727 WHERE deviceId() ='10001727asdas' AND qwe = 1}

测试数据:40c33a551871424eb8b2aac340020528设备上报的数据:{"a":0}10001727asdas设备上报的{"qwe":1}

执行结果:{"40c33a551871424eb8b2aac340020528":{"a":0},"10001727asdas":{"qwe":1}}

注:组合的执行结果的格式是:{"设备Id号": {对应规则清洗出来的数据(json格式)},"设备Id号": {对应规则清洗出来的数据(json格式)}}

搜索结果 ""

    没有搜索结果 ""