规则引擎系列文档基本上都是照官网翻译的,也结合了一部分自己实践,写的有点糙。
规则引擎是基于事件构建的工作流是易于使用的框架。有3个主要组成部分:
- Message - 接收任何事件。它可以是来自Device,设备生命周期事件,REST API事件,RPC请求等的传入数据。
- Rule Node - 处理消息执行的功能。对接收的节点进行过滤、转换或者执行的能力。
- Rule Chain - 关联节点之的连接,接收来自节点的出站消息将其发送至下一个节点。
ThingsBoard规则引擎是一个高度可定制的框架,用于复杂事件的处理。以下是一些可以通过ThingsBoard规则链配置的常见用例:
- 在保存到数据库之前,对接收的遥测数据或属性进行验证和修改。
- 将遥测或属性从设备复制到相关资产,以便可以汇总遥测。例如,可以将多个设备中的数据汇总到相关资产(理解为设施更为合适)中。
- 根据定义的条件对alarms进行创建、更新、清除。
- 根据设备生命周期事件触发操作。例如,如果设备处于在线/离线状态,则创建警告。
- 加载所需的其他处理数据。例如,在客户设备或租户属性中定义的设备的负载温度阈值。
- 触发对外部系统的REST API调用。
- 发生复杂事件时发送电子邮件,并使用“电子邮件模板”中其他实体的属性。
- 在事件处理期间要考虑用户的偏好。
- 根据定义的条件进行RPC调用。
- 与外部管道(如Kafka,Spark,AWS服务等)集成。