所使用的外部节点用于与外部系统进行交互。
Since TB Version 2.0 |
外部节点指用来与外部系统交互的节点 AWS SNS (Amazon Simple Notification Service).
配置:
在下面的例子中,主题名取决于设备类型,在元数据中有一条消息包含deviceType字段
{
deviceType: controller
}
我们将在Topic ARN pattern中设置controller的topic中发布消息:
arn:aws:sns:us-east-1:123456789012:${deviceType}
在运行时,模式将解析为 arn:aws:sns:us-east-1:123456789012:controller
Published payload - —节点将向SNS发布完整的有效消息负载。如果有需要的话,可以配置规则链,使用转换节点链向SNS发送正确的负载。
Outbound message 将包含消息元数据中的响应messageId和requestId。原始消息有效负载、类型和发送方不会被更改。
Since TB Version 2.0 |
节点将消息发布到AWS SQS (亚马逊简单队列服务)。
配置:
${deviceType}
。可以为消息发布设置直接队列URL,或使用模式,使用消息元数据将该模式解析为真正的队列URL。在以下示例中,队列URL取决于设备类型,并且在元数据中有一个包含 deviceType 字段的消息:
{
deviceType: controller
}
为了在 controller’s 的Queue中发布消息,我们将在Queue URL pattern模式中设置此模式:
https://sqs.us-east-1.amazonaws.com/123456789012/${deviceType}
在运行时,模式将解析为https://sqs.us-east-1.amazonaws.com/123456789012/controller
Published body - 节点将向SQS发布完整的消息有效负载。如果需要,可以将规则链配置为使用转换节点链,以将正确的有效负载发送到SQS。
Published attributes - 可以添加可选的属性列表以在SQS中发布消息。这是一个集合 – 对。NAME和VALUE都可以是静态值或模式,可以使用消息元数据进行解析。
如果选择了FIFO队列,则消息ID将用作重复数据deduplication ID,消息发起者将用作group ID。
Outbound message 这个节点的出站消息将包含消息元数据中的响应 messageId, requestId, messageBodyMd5, messageAttributesMd5 和 sequenceNumber 原始消息payload、类型和发送方不会被更改。
Since TB Version 2.0 |
Kafka节点向Kafka代理发送消息。消息可具有任何消息类型。将通过Kafka生产者发送记录到Kafka服务器.
配置:
${deviceType}
Published body - Node将向Kafka主题发送完整的消息负载。如果需要可以配置规则链,使用转换节点链向Kafka发送正确的payload.
Outbound message 此节点的出站消息将在消息元数据中包含响应offset, partition and topic属性。原始消息payload、类型和发送方不会被更改。
Note - if you want to use Confluent cloud as a kafka broker you should add next properties:
Key | Value |
---|---|
ssl.endpoint.identification.algorithm | https |
sasl.mechanism | PLAIN |
sasl.jaas.config | org.apache.kafka.common.security.plain.PlainLoginModule required username="CLUSTER_API_KEY" password="CLUSTER_API_SECRET"; |
security.protocol | SASL_SSL |
Since TB Version 2.0 |
使用QoS AT_LEAST_ONCE将传入消息有效负载发布到已配置的MQTT代理的主题
配置:
${deviceType}
.外部MQTT代理支持不同的身份验证凭证:
PEM PEM证书用于身份验证 如果选择PEM凭证类型:
Published body - 节点将向MQTT主题发送完整的消息有效负载。如果需要,可以将规则链配置为使用转换节点链,以将正确的有效负载发送到MQTT代理.
在成功发布消息的情况下,原始消息将通过Success链传递到下一个节点,否则将使用Failure链。
Since TB Version 2.5.3 |
Configuration:
Different Authentication credentials are supported for Azure IoT Hub:
If Shared Access Signature credentials type is selected, the following configuration should be provided:
If PEM credentials type is selected, the following configuration should be provided:
X.509 CA-signed authentication
Published body - Node will send full Message payload to the Azure IoT Hub device. If required, Rule Chain can be configured to use chain of Transformation Nodes for sending correct Payload to the Azure IoT Hub.
In case of successful message publishing, original Message will be passed to the next nodes via Success chain, otherwise Failure chain is used.
Since TB Version 2.0 |
将传入的消息有效负载发布到RabbitMQ.
配置:
${deviceType}
.${deviceType}
.Published body - 已发布的主体-节点将向RabbitMQ发送完整的消息有效负载。
如果需要,可以配置规则链,使用转换节点链发送正确的负载。 如果消息发布成功,原始消息将通过Success链传递到下一个节点,否则将使用Failure链。
Since TB Version 2.0 |
REST API调用外部REST服务器。
配置:
${deviceType}
Endpoint URL
URL可以是静态字符串或patterns。只使用消息元数据解析模式。因此,模式中使用的属性名必须存在于消息元数据中,否则原始模式将被添加到URL中。
例如,如果消息payload包含带有值container的属性deviceType,则此模式:
http://localhost/api/${deviceType}/update
被解析为
http://localhost/api/container/update
Headers
可以配置标题名称/值的集合。 这些标题将被添加到Rest请求中。 模式应用于配置标头名称和标头值。
例如 ${deviceType}
. 仅消息元数据用于解决模式。因此,模式中使用的属性名称必须存在于消息元数据中,否则原始模式将添加到标头中。
Request body -节点将向配置的REST端点发送完整的消息Payload。如果需要,可以将规则链配置为使用转换节点链来发送正确的Payload。
Outbound message 将在消息元数据中包含响应状态,status, statusCode, statusReason和headers。 出站消息有效负载将与响应正文相同。原始邮件类型和原始发件人将不会更改。
如果请求成功,则出站消息将通过Success链传递到下一个节点,否则将使用Failure链
Since TB Version 2.0 |
节点通过已配置的邮件服务器发送传入消息。此节点只适用于在创建时使用Email的消息,请使用Success链将此节点与To Email节点连接。
配置:
该节点可以与在系统级别配置的默认邮件服务器一起使用。 请找到有关 如何配置默认系统SMTP设置的详细信息
如果此节点需要特定的邮件服务器,请禁用Use system SMTP settings复选框,并手动配置邮件服务器。 该节点可以与在系统级别配置的默认邮件服务器一起使用。有关如何配置默认系统SMTP设置请找到的更多详细信息。 如果此节点需要特定的邮件服务器,请禁用使用系统SMTP设置复选框并手动配置邮件服务器
另外,如果传入消息已参考数据库中存储的文件准备了附件字段,则此节点可以创建电子邮件附件。
注意: 这是ThingsBoard Professional Edition支持的文件存储功能的一部分。
如果成功发送邮件,原始消息将通过Success链传递到下一个节点,否则将使用Failure链。
在下一个教程中,你可以看到使用该节点的真实示例:
Since TB Version 2.0.2 |
|
Professional Rule Node Only ThingsBoard Professional Edition supports Twilio SMS Rule Node. See ThingsBoard PE Installation Options to install ThingsBoard PE. |
通过Twilio服务将传入消息有效负载作为SMS消息发送。
配置:
SMS消息将发送至电话号码至列表中的所有收件人。
如果将SMS消息成功发送给所有收件人,则原始消息将通过Success链传递到下一个节点,否则将使用Failure链。