概览

最近更新时间:2023-03-16 14:19:43

我的收藏

用途

基于 Topic 进行通信时,您可以使用规则引擎对 Topic 中的数据进行处理,然后转发到腾讯云其它服务或用户的业务后台服务,进行数据采集 + 计算 + 存储等服务。

步骤

1. 登录 物联网通信控制台,单击产品概况模块右上方的查看详情
2. 选择左侧菜单规则引擎
3. 进入规则引擎页面,单击创建规则,填入规则名称后,单击确定
规则名称:支持英文、数字、下划线的组合,最多不超过32个字符。(名称新建后无法修改,请谨慎填写。)
规则描述:0 - 256个字的描述,可修改。



4. 创建成功后,即可自动进入规则详情页面,编辑数据筛选和行为操作。


筛选数据:通过选择设备、topic 类型,和设置需选择提取内容字段、条件,生成提取数据的 SQL 语句。
字段
条件
设备上报 JSON 数据支持通过字段提取数据内容,多个字段用逗号隔开,如果需全部字段转发填入' * '号;设备上报是非 JSON 数据,只能填入' * '号进行全部内容转发。字段定义如下:
字段中仅支持' * '、','、'.'、空格、字母和数字,不为空,最多不超过300个字符。
字段表示的是 JSON 中的键值 Key,若数据格式为非 JSON 数据时不可使用字段筛选,可使用' * '将所有数据进行转发。
上报的 JSON 数据格式,可以是嵌套的 JSON。例如:{"device_status":{"switch":"on"}},可以通过 device_status.switch 来获取到 switch 的值。
暂不支持子 SQL 和 JSON 数组。
当设备上报 json 数据时才支持,在条件中填字段(此字段必须在设备上报的 json 数据中)运算表达式,当设备上报的消息满足条件表达式时,才会提取数据并进行转发。支持的表达式见下表:
操作符
描述
举例
=
相等
color = 'red'
<>
不等于
color <> 'red'
AND
逻辑与
color = 'red' AND siren = 'on'
OR
逻辑或
color = 'red' OR siren = 'on'
( )
括号代表一个整体
color = 'red' AND (siren = 'on' OR siren ='isTest')
+
算术加法
age = 4 + 5
-
算术减
age = 5 - 4
/
age = 20 / 4
*
age = 5 * 4
%
取余数
age = 0 % 6
<
小于
5 < 6
<=
小于或等于
5 <= 6
>
大于
6 > 5
>=
大于或等于
6 >= 5

行为操作:用于配置接收数据的目标,支持以下行为类型:
转发错误行为操作:通过配置与行为操作不同的行为类型,当行为操作进行3次重试转发都失败后,会向错误行为操作进行1次转发,确保设备数据不丢失。