目录
ThingsBoard规则链(Rule Chain)
一、规则引擎(Rule Engine)
ThingsBoard解释
规则引擎是一个易于使用的框架,用于构建基于事件的工作流。有3个主要组成部分:
■消息- 任何传入事件。它可以是来自设备的传入数据、设备生命周期事件、REST API 事件、RPC 请求等。
■规则节点- 对传入消息执行的功能。有许多不同的节点类型可以过滤、转换或对传入的消息执行某些操作。
■规则链- 节点通过关系相互连接,因此来自规则节点的出站消息被发送到下一个连接的规则节点。
根规则链
二、规则节点(Rule Node)
概念
规则节点是规则引擎的基本组件,它一次处理单个传入消息并生成一个或多个传出消息。规则节点是规则引擎的主要逻辑单元。规则节点可以过滤,丰富,转换传入消息,执行操作或与外部系统通信。
作用:规则节点可以过滤,丰富,转换传入消息,执行操作或与外部系统通信。提供节点自定义能力,实现数据的运算。
规则节点类型
1、过滤节点(用于消息过滤和路由,过滤成功走真链、错误走假链)。
1:script(脚本过滤器节点)使用javascript条件进行消息过滤(消息msg,metadata消息元数据,msgType消息类型);
2:switch(交换节点)将传入消息路由到一个或多个输出链,节点执行已配置的JavaScript函数。
2、属性集节点:用于更新传入消息的元数据。
1:消息发起方用户属性(customer attributes),将消息发起方属性信息或者遥测数据加入Metadata元数据中。
2:设备属性(device attributes),将消息发起方的设备属性或者遥测数据加入metadata。
3、变换节点:用户更改创立的消息字段,比如,发起方、类型、有效负载,元数据。
1:脚本转换节点(script),作用:修改消息内容(msg(消息负载),msgType(消息类型),metadata(元数据)),可增加,可改。
2:转换到电子邮件节点(to email),通过使用从消息元数据派生的值填充电子邮件字段,将消息转换为电子邮件消息。设置“ SEND_EMAIL”输出消息类型,以后可以被“ 发送电子邮件节点”接受。可以将所有电子邮件字段配置为使用元数据中的值。
4、动作节点:根据传入的消息执行各种动作。
1:create alarm(创建告警),通过过滤节点中的过滤脚本判断后,对满足条件的消息进行告警的触发;
2:log(创建日志),对于系统中的关键系统进行日志输出;
3:rpc call request(远程RPC调用),监控系统rpc请求,下发控制命令请求;
5、外部节点:提供将消息及数据路由到外部中间件,或者其他第三方云平台中。用于与外部系统进行交互。
1:kafka(kafka消息中间件),MQTT(外部MQTT代理),RabbitMQ,支持将系统中的数据发布到kafka/MQTT代理/RabbitMQ中,供第三方消费者订阅数据。
2:send email (向外部发送邮件)。
3:aws sns:将消息发布到aws sns(亚马逊简单消息通知服务,是一种发布\订阅模式的消息收发服务)。
规则节点关系
规则节点之间存在关联性每个节点都有对应关系类型,用于标识关系的逻辑标签。
当规则节点生成输出消息时,它总是将消息路由到下一个指定的节点并通过关系类型进行关联。
表示成功与否的规