跳转至

外部节点

使用的外部节点用于与外部系统交互。

AWS SNS 节点

自 YiCONNECT 2.0 版本以来

图像

节点将消息发布到AWS SNS(Amazon简单通知服务)。

配置:

图像

  • 主题 ARN 模式 - 可以设置直接主题名称以进行消息发布,也可以使用模式,该模式将使用消息元数据解析为真实的 ARN 主题名称。
  • AWS 访问密钥 IDAWS 秘密访问密钥是具有编程访问权限的 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。

来自该节点的出站消息将在消息元数据中包含响应messageIdrequestId 。原始消息负载、类型和发起者不会改变。

AWS SQS 节点

自 YiCONNECT 2.0 版本以来

图像

节点将消息发布到AWS SQS(Amazon Simple Queue Service)。

配置:

图像

  • 队列类型 - SQS 队列类型。可以是标准的先进先出的
  • 队列 URL 模式 - 用于构建队列 URL 的模式。例如${deviceType}。可以设置直接队列 URL 来发布消息,也可以使用模式,该模式将使用消息元数据解析为真实的队列 URL。
  • Delay - 以秒为单位的延迟,用于延迟特定消息。
  • 消息属性 - 要发布的消息属性的可选列表。
  • AWS 访问密钥 IDAWS 秘密访问密钥是具有编程访问权限的 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

来自该节点的出站消息将在消息元数据中包含响应 messageIdrequestIdmessageBodyMd5messageAttributesMd5 和 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。

来自该节点的出站消息将在消息元数据中包含响应 offsetpartitiontopic属性。原始消息负载、类型和发起者不会改变。

注意 - 如果您想使用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证书文件,默认使用巴尔的摩证书。有关证书的更多信息请参见此处
  • 证书文件
  • 私钥文件
  • 私钥密码

X.509 CA 签名身份验证

CAC证书说明

已发布正文 - 节点将完整消息有效负载发送到 Azure IoT 中心设备。如果需要,可以将规则链配置为使用转换节点链将正确的负载发送到 Azure IoT 中心。

如果消息发布成功,则原始消息将通过Success链传递到下一个节点,否则使用Failure链。

RabbitMQ 节点

自 YiCONNECT 2.0 版本以来

图像

将传入消息负载发布到 RabbitMQ。

配置:

图像

  • 交换名称模式 - 将消息发布到的交换。可以是静态字符串,或使用消息元数据属性解析的模式。例如${deviceType}
  • 路由键模式 - 路由键。可以是静态字符串,或使用消息元数据属性解析的模式。例如${deviceType}
  • 消息属性 - 可选的路由标头。支持的标头 BASICTEXT_PLAINMINIMAL_BASICMINIMAL_PERSISTENT_BASICPERSISTENT_BASICPERSISTENT_TEXT_PLAIN
  • 主机 - 用于连接的默认主机
  • 端口 - 用于连接的默认端口
  • 虚拟主机 - 连接到代理时使用的虚拟主机
  • 用户名 - 连接到代理时使用的 AMQP 用户名
  • 密码 - 连接到代理时使用的 AMQP 密码
  • 自动恢复 - 启用或禁用自动连接恢复
  • 连接超时 ——连接TCP建立超时时间(以毫秒为单位);零代表无限
  • 握手超时 - AMQP0-9-1协议握手超时,以毫秒为单位
  • 客户端属性 - 连接启动期间发送到服务器的其他属性

发布的正文 - 节点将向 RabbitMQ 发送完整的消息有效负载。如果需要,可以将规则链配置为使用转换节点链来发送正确的有效负载。

如果消息发布成功,则原始消息将通过Success链传递到下一个节点,否则使用Failure链。

REST API调用节点

自 YiCONNECT 2.0 版本以来

图像

对外部 REST 服务器进行 REST API 调用。

配置:

图像

  • 端点 URL 模式 - 可以是静态字符串,也可以是使用消息元数据属性解析的模式。例如${deviceType}
  • 请求方法GETPOSTPUTDELETE
  • 标头 - 请求标头、标头或值可以是静态字符串或使用消息元数据属性解析的模式。

端点 URL

URL 可以是静态字符串或模式。仅消息元数据用于解析模式。因此,模式中使用的属性名称必须存在于消息元数据中,否则原始模式将添加到 URL 中。

例如,如果消息有效负载包含值为container 的属性 deviceType ,则此模式:

http://localhost/api/${deviceType}/update

将被解决

http://localhost/api/container/update

标头

可以配置标头名称/值的集合。这些标头将添加到 Rest 请求中。模式应该用于配置的标头名称和标头值。例如${deviceType}。仅消息元数据用于解析模式。因此,模式中使用的属性名称必须存在于消息元数据中,否则原始模式将添加到标头中。

请求正文 - 节点将发送完整的消息有效负载到配置的 REST 端点。如果需要,可以将规则链配置为使用转换节点链来发送正确的有效负载。

来自该节点的出站消息将在消息元数据中包含响应 statusstatusCodestatusReason和响应 标头。 出站消息有效负载将与响应正文相同。原始消息类型和发起者不会改变。

要发送单个文件作为请求正文,请将字段附件添加到消息元数据中,文件 uuid 存储在数据库中。在这种情况下,任何消息数据都将被忽略,仅发送文件内容。要定义请求内容类型,请使用标头设置,例如

Content-Type: application/json; charset=UTF-8

以下是发送单个文件的消息元数据的示例:

{
  "attachments": "e18b6950-dfca-11eb-affb-8db134b46d68"
}

如果请求成功,出站消息将通过Success链传递到下一个节点,否则使用Failure链。

发送邮件节点

自 YiCONNECT 2.0 版本以来

图像

节点使用配置的邮件服务器发送传入消息。该节点仅适用于使用“发送电子邮件”转换节点创建的消息 ,请使用成功链将该节点与 “发送电子邮件” 节点连接起来。

配置:

图像

  • 使用系统 SMTP 设置 - 如果启用,将使用在系统级别配置的默认邮件服务器
  • 协议 - 邮件服务器传输协议:SMTPSMTPS
  • 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 中要向其发送消息的公共频道、私人频道或用户。