外部节点
使用的外部节点用于与外部系统交互。
AWS SNS 节点
自 YiCONNECT 2.0 版本以来 |
---|
节点将消息发布到AWS SNS(Amazon简单通知服务)。
配置:
- 主题 ARN 模式 - 可以设置直接主题名称以进行消息发布,也可以使用模式,该模式将使用消息元数据解析为真实的 ARN 主题名称。
- AWS 访问密钥 ID和AWS 秘密访问密钥是具有编程访问权限的 AWS IAM 用户的凭证。
- AWS 区域必须与创建 SNS 主题的区域相对应。
在以下示例中,主题名称取决于设备类型,并且有一条消息在元数据中包含deviceType字段:
{
deviceType: controller
}
为了在控制器的主题中发布消息,我们将在主题 ARN 模式中设置此模式:
arn:aws:sns:us-east-1:123456789012:${deviceType}
在运行时,模式将被解析为arn:aws:sns:us-east-1:123456789012:controller
发布的有效负载 - 节点将完整的消息有效负载发布到 SNS。如果需要,可以将规则链配置为使用转换节点链将正确的有效负载发送到 SNS。
来自该节点的出站消息将在消息元数据中包含响应messageId和requestId 。原始消息负载、类型和发起者不会改变。
AWS SQS 节点
自 YiCONNECT 2.0 版本以来 |
---|
节点将消息发布到AWS SQS(Amazon Simple Queue Service)。
配置:
- 队列类型 - SQS 队列类型。可以是标准的或 先进先出的 。
- 队列 URL 模式 - 用于构建队列 URL 的模式。例如
${deviceType}
。可以设置直接队列 URL 来发布消息,也可以使用模式,该模式将使用消息元数据解析为真实的队列 URL。 - Delay - 以秒为单位的延迟,用于延迟特定消息。
- 消息属性 - 要发布的消息属性的可选列表。
- AWS 访问密钥 ID和AWS 秘密访问密钥是具有编程访问权限的 AWS IAM 用户的凭证。
- AWS 区域必须与创建 SQS 队列的区域相对应。
在以下示例中,队列 URL 取决于设备类型,并且有一条消息在元数据中包含deviceType字段:
{
deviceType:controller
}
为了在控制器的队列中发布消息,我们将在队列 URL 模式中设置此模式:
https://sqs.us-east-1.amazonaws.com/123456789012/${deviceType}
在运行时,模式将被解析为https://sqs.us-east-1.amazonaws.com/123456789012/controller
发布正文 - 节点将向 SQS 发布完整的消息有效负载。如果需要,可以将规则链配置为使用转换节点链将正确的有效负载发送到 SQS。
已发布属性 - 可以添加可选属性列表以在 SQS 中发布消息。它是一个集合 -对。NAME 和 VALUE 都可以是将使用消息元数据解析的静态值或模式。
如果选择FIFO队列,则消息 ID 将用作 重复数据删除 ID ,消息发起者将用作 组 ID 。
来自该节点的出站消息将在消息元数据中包含响应 messageId 、 requestId 、 messageBodyMd5 、messageAttributesMd5 和 sequenceNumber 。原始消息负载、类型和发起者不会改变。
卡夫卡节点
自 YiCONNECT 2.0 版本以来 |
---|
Kafka 节点向 Kafka 代理发送消息。期望任何消息类型的消息。将通过 Kafka 生产者将记录发送到 Kafka 服务器。
配置:
- 主题模式 - 可以是静态字符串,也可以是使用消息元数据属性解析的模式。例如
${deviceType}
- bootstrap 服务器 - 以逗号分隔的 kafka 代理列表。
- 自动重试次数 - 连接失败时尝试重新发送消息的次数。
- 生成批量大小 - 用于对具有相同分区的消息进行分组的批量大小(以字节为单位)。
- 本地缓冲时间 - 最大本地缓冲窗口持续时间(以毫秒为单位)。
- 客户端缓冲区最大大小 - 用于发送消息的最大缓冲区大小(以字节为单位)。
- 确认数量 - 在考虑请求完成之前节点需要接收的确认数量。
- 键序列化器 - 默认为 org.apache.kafka.common.serialization.StringSerializer
- 值序列化器 - 默认为 org.apache.kafka.common.serialization.StringSerializer
- 其他属性 - 可以为 kafka 代理连接提供任何其他附加属性。
发布的主体 - 节点将完整的消息有效负载发送到 Kafka 主题。如果需要,可以将规则链配置为使用转换节点链将正确的有效负载发送到 Kafka。
来自该节点的出站消息将在消息元数据中包含响应 offset 、partition和topic属性。原始消息负载、类型和发起者不会改变。
注意 - 如果您想使用Confluence 云作为 kafka 代理,您应该添加以下属性:
钥匙 | 价值 |
---|---|
ssl.端点.识别.算法 | https |
sasl机制 | 清楚的 |
sasl.jaas.config | org.apache.kafka.common.security.plain.PlainLoginModule 需要 用户名=“CLUSTER_API_KEY” 密码=“CLUSTER_API_SECRET”; |
安全协议 | SASL_SSL |
- CLUSTER_API_KEY - 集群设置中的访问密钥。
- CLUSTER_API_SECRET - 集群设置中的访问密钥。
MQTT 节点
自 YiCONNECT 2.0 版本以来 |
---|
使用 QoS AT_LEAST_ONCE将传入消息有效负载发布到已配置的 MQTT 代理的主题。
配置:
- 主题模式 - 可以是静态字符串,也可以是使用消息元数据属性解析的模式。例如
${deviceType}
。 - 主机 - MQTT 代理主机。
- 端口 - MQTT 代理端口。
- 连接超时 - 连接到 MQTT 代理的超时(以秒为单位)。
- 客户端 ID - 用于连接到 MQTT 代理的可选客户端标识符。如果未指定,将使用默认生成的 clientId。
- 将服务 ID 作为后缀添加到客户端 ID - 可选标志。启用后,服务器 ID 将作为后缀添加到客户端 ID 中。在微服务模式下运行时,允许每个节点上的规则节点无错误地连接到代理是很有帮助的。
- 干净会话 - 启用后与代理建立非持久连接。
- SSL 启用/禁用 - 启用/禁用安全通信。
- 凭证 - MQTT 连接凭证。可以是 匿名 、基本或 PEM 。
外部 MQTT 代理支持不同的身份验证凭据:
- 匿名 - 无需身份验证
- 基本 - 用户名\密码对用于身份验证
- PEM - PEM 证书用于身份验证
如果选择PEM凭证类型,则应提供以下配置:
- CA证书文件
- 证书文件
- 私钥文件
- 私钥密码
发布的正文 - 节点将完整的消息有效负载发送到 MQTT 主题。如果需要,可以将规则链配置为使用转换节点链将正确的有效负载发送到 MQTT 代理。
如果消息发布成功,则原始消息将通过Success链传递到下一个节点,否则使用Failure链。
Azure IoT 中心节点
自 YiCONNECT 版本 2.5.3 起 |
---|
配置:
- 主题 - 有关 IoT 中心主题的更多信息,请使用链接。
- 主机名 - Azure IoT 中心主机名。
- 设备 ID - 来自 Azure IoT 中心的设备 ID。
- 凭据 - Azure IoT 中心连接凭据。可以是共享访问签名或 PEM 。
Azure IoT 中心支持不同的身份验证凭据:
- 共享访问签名 - SAS 密钥用于身份验证
- PEM - PEM 证书用于身份验证
如果选择共享访问签名凭据类型,则应提供以下配置:
- SAS 密钥 - 这是Azure IoT 中心中设备的密钥
- CA证书文件,默认使用巴尔的摩证书。有关证书的更多信息请参见此处
如果选择PEM凭证类型,则应提供以下配置:
- CA证书文件,默认使用巴尔的摩证书。有关证书的更多信息请参见此处
- 证书文件
- 私钥文件
- 私钥密码
已发布正文 - 节点将完整消息有效负载发送到 Azure IoT 中心设备。如果需要,可以将规则链配置为使用转换节点链将正确的负载发送到 Azure IoT 中心。
如果消息发布成功,则原始消息将通过Success链传递到下一个节点,否则使用Failure链。
RabbitMQ 节点
自 YiCONNECT 2.0 版本以来 |
---|
将传入消息负载发布到 RabbitMQ。
配置:
- 交换名称模式 - 将消息发布到的交换。可以是静态字符串,或使用消息元数据属性解析的模式。例如
${deviceType}
。 - 路由键模式 - 路由键。可以是静态字符串,或使用消息元数据属性解析的模式。例如
${deviceType}
。 - 消息属性 - 可选的路由标头。支持的标头 BASIC 、 TEXT_PLAIN 、 MINIMAL_BASIC 、 MINIMAL_PERSISTENT_BASIC 、 PERSISTENT_BASIC 、PERSISTENT_TEXT_PLAIN
- 主机 - 用于连接的默认主机
- 端口 - 用于连接的默认端口
- 虚拟主机 - 连接到代理时使用的虚拟主机
- 用户名 - 连接到代理时使用的 AMQP 用户名
- 密码 - 连接到代理时使用的 AMQP 密码
- 自动恢复 - 启用或禁用自动连接恢复
- 连接超时 ——连接TCP建立超时时间(以毫秒为单位);零代表无限
- 握手超时 - AMQP0-9-1协议握手超时,以毫秒为单位
- 客户端属性 - 连接启动期间发送到服务器的其他属性
发布的正文 - 节点将向 RabbitMQ 发送完整的消息有效负载。如果需要,可以将规则链配置为使用转换节点链来发送正确的有效负载。
如果消息发布成功,则原始消息将通过Success链传递到下一个节点,否则使用Failure链。
REST API调用节点
自 YiCONNECT 2.0 版本以来 |
---|
对外部 REST 服务器进行 REST API 调用。
配置:
- 端点 URL 模式 - 可以是静态字符串,也可以是使用消息元数据属性解析的模式。例如
${deviceType}
- 请求方法 - GET 、 POST 、 PUT 、DELETE
- 标头 - 请求标头、标头或值可以是静态字符串或使用消息元数据属性解析的模式。
端点 URL
URL 可以是静态字符串或模式。仅消息元数据用于解析模式。因此,模式中使用的属性名称必须存在于消息元数据中,否则原始模式将添加到 URL 中。
例如,如果消息有效负载包含值为container 的属性 deviceType ,则此模式:
http://localhost/api/${deviceType}/update
将被解决
http://localhost/api/container/update
标头
可以配置标头名称/值的集合。这些标头将添加到 Rest 请求中。模式应该用于配置的标头名称和标头值。例如${deviceType}
。仅消息元数据用于解析模式。因此,模式中使用的属性名称必须存在于消息元数据中,否则原始模式将添加到标头中。
请求正文 - 节点将发送完整的消息有效负载到配置的 REST 端点。如果需要,可以将规则链配置为使用转换节点链来发送正确的有效负载。
来自该节点的出站消息将在消息元数据中包含响应 status 、 statusCode 、statusReason和响应 标头。 出站消息有效负载将与响应正文相同。原始消息类型和发起者不会改变。
要发送单个文件作为请求正文,请将字段附件添加到消息元数据中,文件 uuid 存储在数据库中。在这种情况下,任何消息数据都将被忽略,仅发送文件内容。要定义请求内容类型,请使用标头设置,例如
Content-Type: application/json; charset=UTF-8
以下是发送单个文件的消息元数据的示例:
{
"attachments": "e18b6950-dfca-11eb-affb-8db134b46d68"
}
如果请求成功,出站消息将通过Success链传递到下一个节点,否则使用Failure链。
发送邮件节点
自 YiCONNECT 2.0 版本以来 |
---|
节点使用配置的邮件服务器发送传入消息。该节点仅适用于使用“发送电子邮件”转换节点创建的消息 ,请使用成功链将该节点与 “发送电子邮件” 节点连接起来。
配置:
- 使用系统 SMTP 设置 - 如果启用,将使用在系统级别配置的默认邮件服务器
- 协议 - 邮件服务器传输协议:SMTP或SMTPS
- SMTP 主机 - 邮件服务器主机
- SMTP 端口 - 邮件服务器端口
- Timeout ms - 读取超时(以毫秒为单位)
- 启用 TLS - 如果为 true,则启用 STARTTLS 命令(如果服务器支持)
- 用户名 - 邮件主机帐户的用户名(如果有)
- 密码 - 邮件主机帐户的密码(如果有)
该节点可以与系统级别配置的默认邮件服务器一起使用。请查找有关如何配置默认系统 SMTP 设置的更多详细信息。
如果此节点需要特定邮件服务器 - 禁用使用系统 SMTP 设置复选框并手动配置邮件服务器。
此外,如果传入消息已参考存储在数据库中的文件准备了附件元数据字段,则该节点可以创建电子邮件附件。
支持多个附件。使用逗号分隔无空格引用 (uuids) 来发送多个文件。这是消息元数据的示例:
{
"attachments": "e18b6950-dfca-11eb-affb-8db134b46d68,17383b4c-6000-4bb8-be04-b1cb15aa18c5"
}
如果邮件发送成功,原始Message将通过Success链传递到下一个节点,否则使用Failure链。
发送通知节点
自 YiCONNECT 3.5 版本起 |
---|
节点可以使用模板向收件人组发送通知。该模板必须是“规则节点”类型。您可以在模板中使用传入消息数据和元数据 配置:
- Template—— 指定通知模板;
- 收件人 - 通知收件人。
发送短信节点
自 YiCONNECT 3.2 版本起 |
---|
Node 能够根据传入消息中的元数据字段构建 SMS 消息,并使用 AWS SNS 或 Twilio SMS 提供商发送该消息。我们建议为规则节点启用调试模式。
配置:
-
使用系统 SMS 提供商设置 - 如果启用,将使用在系统级别配置的默认 SMS 提供商服务器。
-
电话号码至模板 - 允许配置 SMS 将发送到的多个电话号码。您也可以选择引用消息元数据中的字段。
- SMS 消息模板 - 允许配置 SMS 消息的正文。您也可以选择引用消息元数据中的字段。
该节点可以与系统级别配置的默认 SMS 提供商一起使用。如果 SMS 消息成功发送给所有收件人,则原始消息将通过 Success 链传递到下一个节点,否则使用 Failure 链。
Twilio 短信节点
自 YiCONNECT 版本 2.0.2 起 |
---|
使用YiCONNECT Cloud或安装您自己的平台实例。
通过 Twilio 服务将传入消息有效负载作为 SMS 消息发送。
配置:
- 电话号码发件人 - 可以将直接电话号码设置为短信的发件人号码或可以使用的模式,这将使用消息元数据解析为真实的发件人号码。
- 电话号码收件人 - 以逗号分隔的收件人电话号码列表。可以设置直接电话号码或可以使用模式,这将使用消息元数据解析为真实电话号码。
- Twilio 帐户 SID - 您位于 twilio.com/console 的帐户 SID
- Twilio 帐户令牌 - 您在 twilio.com/console 上的帐户令牌
SMS 消息将发送给从电话号码列表中获取的所有收件人。
如果 SMS 消息成功发送给所有收件人,则原始消息将通过Success链传递到下一个节点,否则使用Failure链。
发送到 Slack 节点
自 YiCONNECT 3.5 版本起 |
---|
节点根据传入的数据和元数据创建消息,并通过Slack将其发送到公共通道、私有通道或直接消息。如果选择使用系统 Slack 设置,节点将从系统设置中获取 Slack API 令牌。否则,您需要在节点配置中指定令牌。
配置:
- 消息模板 - Slack 消息的模板;您可以选择引用传入消息数据和元数据中的字段;
- 使用系统 Slack 设置 - 如果启用,节点将从系统设置中获取 Slack API 令牌;
- Slack API 令牌 - 用于将 YiCONNECT 与 Slack 集成的令牌;
- Slack 通道类型 - 通过 Slack 向公共通道、私有通道或直接消息发送消息;
- 对话 - Slack 中要向其发送消息的公共频道、私人频道或用户。