外部节点
外部节点指用来与外部系统交互的节点 AWS SNS Node AWS SQS Node Kafka Node MQTT Node RabbitMQ Node REST API Call Node Send Email Node Twilio SMS Node AWS SNS Node
节点将消息发布发哦AWS SNS(Amazon简单通知服务). 配置:
主题ARN模式——可以为消息发布设置直接主题名,也可以使用模式,使用消息元数据将其解析为真正的主题名。 AWS访问密钥ID和AWS保密访问密钥是具有编程访问权限的AWS IAM用户凭据。更多关于AWS访问密钥的信息,请访问这里找到。 AWS区域必须对应于创建SNS主题的区域。AWS区域当前列表可以在这里找到。 在下面的例子中,主题名取决于设备类型,在元数据中有一条消息包含deviceType字段:
{
deviceType: controller
}
我们将在topic ARN pattern中设置controller的topic中发布消息:
ara:aws:sns:us-east-1:123456789012:$ { deviceType }
在运行时,模式被解析为arn:aws:sns:us-east:123456789012:controller
已发布的有效负载——节点将向SNS发布完整的有效消息负载。如果有需要的话,可以配置规则链,使用转换节点链向SNS发送正确的负载。
该节点的出站消息将包含消息元数据中的响应messageId和requestId。原始消息有效负载、类型和发送方不会被更改。
AWS SQS 节点
节点将消息发布到AWS SQS (亚马逊简单队列服务)。 配置:
- 队列类型- SQS队列类型可以是标准类型,也可以是先进先出类型。
- 队列URL模式——用于构建队列URL的模式。例如,$ { deviceType }。可以为消息发布设置直接队列URL,或使用模式,使用消息元数据将该模式解析为真正的队列URL。
- 延迟——以秒为单位的延迟,用于延迟特定的消息。
- 消息属性——可选的要发布的消息属性列表。
- AWS访问密钥ID和AWS保密访问密钥是具有编程访问权限的AWS IAM用户凭据。
- AWS区域必须与创建SQS队列的区域相对应。 在以下示例中,队列URL取决于设备类型,在元数据中有一条消息包含deviceType字段:
{
deviceType: controller
}
我们将在队列URL模式中设置controller的队列中的消息发布:
https://sqs.us-east-1.amazonaws.com/123456789012/${deviceType}
在运行时,模式将被解析为https://sqs.us-east-1.amazonaws.com/123456789012/controller
已发布的主体-节点将向SQS发布完整的消息有效负载。如果有需要的话,可以配置规则链,使用转换节点链向SQS发送正确的负载。
发布属性——可添加属性的可选列表,用于在SQS中发布消息。它是- pairs集合。名称和值都可以是使用消息元数据解析的静态值或模式。
如果选择FIFO队列,则消息ID将被看做deduplication ID,消息发起者将被看做Group ID。
这个节点的出站消息将包含消息元数据中的响应messageId、requestId、messageBodyMd5、messageAttributesMd5和sequenceNumber。原始消息有效负载、类型和发送方不会被更改。
Kafka 节点
Kafka节点向Kafka代理发送消息。消息可具有任何消息类型。将通过Kafka生产者发送记录到Kafka服务器。 配置:
- 主题模式——可以是静态字符串,也可以是使用消息元数据属性解析的模式。例如,$ { deviceType }
- 引导服务器——用逗号分隔的kafka代理列表。
- 自动重试次数-如果连接失败,尝试重发消息的次数。
- 生成批处理大小—以字节为单位的批处理大小,用于对具有相同分区的消息进行分组。
- 本地缓冲时间——ms中最大的本地缓冲窗口持续时间。
- 客户端缓冲区最大范围-发送消息的最大缓冲区大小(以字节为单位)。
- 确认数-确认节点在考虑请求完成之前需要接收的数量。
- 键序列化器——默认是org.apache.kafka.common. serializ.stringserializer
- 值序列化器——默认为org. apache.kafka.common.serializ.stringserializer
- 其他属性——可以为kafka代理连接提供任何其他属性。 已发布的body - Node将向Kafka主题发送完整的消息负载。如果需要,可以配置规则链,使用转换节点链向Kafka发送正确的负载。 此节点的出站消息将在消息元数据中包含响应偏移量、分区和主题属性。原始消息有效负载、类型和发送方不会被更改。
MQTT 节点
使用QoS AT_LEAST_ONCE将传入消息有效负载发布到已配置的MQTT代理的主题。 配置:
- 主题模式——可以是静态字符串,也可以是使用消息元数据属性解析的模式。例如,$ { deviceType }。
- Host- MQTT代理主机。
- Post- MQTT代理端口。
- 连接超时——连接到MQTT代理的超时(秒)。
- 客户端ID -可选的客户端标识符,用于连接到MQTT代理。如果没有指定,将使用默认生成的clientId。
- 启用/禁用SSL -启用/禁用安全通信。
- 凭据- MQTT连接凭据。可以是匿名的,基本的或者PEM。 外部MQTT代理支持不同的身份验证凭证:
- 匿名,没有身份验证
- 基本的-用户名\密码对用于认证。
- PEM - PEM证书用于身份验证 如果选择PEM凭证类型,应提供以下配置:
- CA证书文件
- 证书文件
- 私钥文件
- 私钥密码
已发布的主体-节点将向MQTT主题发送完整的消息负载。如果需要,可以配置规则链,使用转换节点链,以便向MQTT代理发送正确的负载。 如果消息发布成功,原始消息将通过success链传递到下一个节点,否则将使用failure链。
RabbitMQ 节点
将传入消息负载发布到RabbitMQ. 配置:
- 交换名称模式——发布消息时所做的交换。可以是静态字符串,也可以是使用消息元数据属性解析的模式。例如,$ { deviceType }。
- 路由密钥模式——路由密钥。可以是静态字符串,也可以是使用消息元数据属性解析的模式。例如,$ { deviceType }。
- 消息属性——可选的路由headers。支持headers BASIC,TEXT_PLAIN, MINIMAL_PERSISTENT_BASIC, PERSISTENT_BASIC, persistent_text_text_plain
- 主机——用于连接的默认主机
- 端口——用于连接的默认端口
- 虚拟主机——连接代理时要使用的虚拟主机
- 用户名- AMQP用户名,在连接代理时使用
- 密码- AMQP连接代理时使用的密码
- 自动恢复——启用或禁用自动连接恢复
- 连接超时-连接建立TCP超时,以毫秒为单位;零表示无限
- 握手超时——AMQP0-9-1协议握手超时,以毫秒为单位
- 客户端属性——启动连接时发送到服务器的附加属性
已发布的主体-节点将向RabbitMQ发送完整的消息有效负载。如果需要,可以配置规则链,使用转换节点链发送正确的负载。 如果消息发布成功,原始消息将通过success链传递到下一个节点,否则将使用failure链。
REST API 调用节点
REST API调用外部REST服务器。 配置:
- 端点URL模式——可以是静态字符串,也可以是使用消息元数据属性解决的模式。例如,$ { deviceType }
- 请求方法——GET, POST, PUT, DELETE
- Headers——请求Headers、Headers或值可以是静态字符串,也可以是使用消息元数据属性解析的模式。
Endpoint URL
URL可以是静态字符串或patterns。只使用消息元数据解析模式。因此,模式中使用的属性名必须存在于消息元数据中,否则原始模式将被添加到URL中。 例如,如果消息有效负载包含带有值容器的属性deviceType,则此模式: http://localhost/api/ $ { deviceType } /update 被解析为 http://localhost/api/container/update
Headers
可以配置header名/值的集合。这些headers信息将被添加到Rest请求中。可以使用patterns配置headers名称和headers值。例如,$ { deviceType }。只有消息元数据可以解析patterns。因此,模式中使用的属性名必须存在于消息元数据中,否则原始模式将被添加到header中。
请求体节点将向已配置的REST端点发送完整的消息负载。如果需要,可以配置规则链,使用转换节点链发送正确的负载。 该节点发出的出站消息将包含消息元数据中的响应状态、状态码、状态原因和响应头。出站消息有效负载将与响应主体相同。原始消息类型和发起者将不会被更改。 如果请求成功,则通过success链将出站消息传递给下一个节点,否则将使用failure链。
发送邮件节点
节点通过已配置的邮件服务器发送传入消息。此节点只适用于在创建时使用电子邮件转换节点的消息,请使用success链将此节点与电子邮件节点连接。 配置:
- 使用系统SMTP设置是否启用配置在系统级别的默认邮件服务器。
- 协议—邮件服务器传输协议:SMTP或SMTPS
- SMTP主机-邮件服务器主机。
- SMTP端口—邮件服务器端口
- 超时ms -读取超时,以毫秒为单位。
- 启用TLS——如果为真,则启用STARTTLS命令(如果服务器支持)
- 用户名—如果有的话,指邮件主机上的帐户用户名
- 密码—如果有的话,指邮件主机上帐户的密码
此节点可以在系统级配置的默认邮件服务器内运行。 如果这个节点需要特定的邮件服务器——禁用系统SMTP设置复选框,请手动配置邮件服务器。 如果邮件发送成功,原始消息将通过success链传递到下一个节点,否则将使用failure链。
Twilio SMS 节点
专业的规则节点 只有TB专业版支持该节点 请查阅Get ThingsBoard PE来安装Get ThingsBoard PE
通过Twilio服务将传入消息有效负载作为SMS消息发送。 配置:
Phone Number From - can be set direct phone number as Number From of SMS or pattern can be used, that will be resolved to the real Number From using Message metadata. Phone Numbers To - comma separated recipient Phone Numbers list. Can be set direct phone numbers or pattern can be used, that will be resolved to the real phone numbers using Message metadata. Twilio Account SID - your Account Sid at twilio.com/console Twilio Account Token - your Account Token at twilio.com/console
- 电话号码-可以设置直接电话号码,供SMS或模式使用,使用消息元数据将该号码将被解析到真正的号码。
- 用逗号分隔的收件人电话号码列表。可以设置直接电话号码,或使用模式,使用消息元数据将该号码将被解析到真正的号码。
- Twilio帐户SID -在twilio.com/console的帐户SID
- Twilio帐户令牌——在twilio.com/console的帐户令牌。
SMS消息将被发送到电话号码列表的所有接收方。 如果SMS消息被成功发送到所有接收方,那么原始消息将通过success链传递到下一个节点,否则将使用failure链。