创建规则
规则引擎创建规则有两种方式编辑,即:直接创建和可视化创建;规则修改时的编辑方式取决于规则创建时选择的编辑方式,如:创建时选择的“直接创建”方式,则编辑时只可以使用SQL编辑的方式,sql编写规则以mysql的规则编写。创建规则可以编辑数据清洗和过滤的条件;创建规则分两种方式:直接创建和可视化创建。
直接创建方式的创建规则
操作步骤:
1、 单击“规则引擎”菜单。
2、 单击“直接创建规则”;直接创建仅支持简单规则的定义。
3、 填写规则描述、选择产品、配置规则内容。
属性名称 | 属性描述 |
规则描述 | 输入规则描述,用以区别各条规则。 |
数据级别 | 数据上报来源的级别,主要包括产品级别、设备级别以及设备分组级别。数据级别为互斥的关系。多规则之间的数据处理无关系,如多条规则同样的处理,则处理结果推送为多条。规则引擎的数据源只限定是设备的“数据上报”数据。 |
选择产品 | 规则对某个产品下的所有设备上报的数据进行处理。 |
规则内容 | 对于数据的处理操作,以sql的方式处理。目前直接写规则,只支持简单规则处理。 |
4、 点击“确定”。
5、 找到创建的对应的规则,然后单击“管理”按钮;可以查看到规则的具体详情。
6、 单击菜单下的“规则引擎”,选择创建的规则,然后单击“启动”按钮,启动成功后开始处理数据流,启动后大约1分钟左右生效。
可视化创建规则引擎
可视化组件分三类:输入类、语句类 、输出类。
组件分类 | 组件名 | 组件描述 |
输入类 | 设备数据 | 选择配置哪个设备产品,这里只可以选择配置“服务定义”的产品。简单规则支持产品级、设备级、设备分组级;组合规则只支持设备级。 |
语句类 | 选择字段 | 规则需要输出的属性。 |
选择条件 | 数据清洗的条件。 | |
输出类 | 输出 | 表示此流规则的输出结束 |
模板 | 简单规则 | 只针对一类数据流进行处理的规则,比如:针对一个设备上报的数据处理。 |
组合规则 | 针对不同设备的数据流同时满足条件时,才可以清洗和过滤出数据。 |
操作步骤:
1、 单击“规则引擎”;
2、 ,单击“可视化创建规则”按钮。
3、顶部有简单规则和组合规则模板。简单规则是对单流数据进行规则定义。组合规则是对多流数据进行多规则结果进行“and”并集的处理,当多流中所有规则同时满足条件时数据才输出,否则数据为空。
简单规则
模板如下所示:
配置模板中各组件的信息,请依次从左向右进行操作;具体如下:
4、 单击右上角“确定”按钮。
注:
1、简单规则执行结果为:{对应规则清洗出来的数据(json格式)}
示例:
{"func-uploadTimestamp":1573198555976,"dType":"testType","humidity":60.4567890,"topic":"v1/up/ad","dId":"TestDeviceId"}
2、组合规则的执行结果的格式是:{"设备Id号": {对应规则清洗出来的数据(json格式)},"设备Id号": {对应规则清洗出来的数据(json格式)}}
示例:
{"40c33a551871424eb8b2aac340020528":{"a":0},"10001727asdas":{"qwe":1}}