PublishMQTT

文档中心 › 组件索引 › PublishMQTT

PublishMQTT Processor

类型全限定名:cn.org.acal.lynxus.processors.mqtt.PublishMQTT

所属 Bundle:cn.org.acal.lynxus:lynxus-mqtt-nar:2.11.8

描述

向 MQTT 主题发布消息

标签

publishMQTTIOT

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
Broker URI用于连接到 MQTT 代理的 URI(例如 tcp://localhost:1883)。支持 'tcp'、'ssl'、'ws' 和 'wss' 协议。要使用 'ssl',必须设置 SSL Context Service 属性。当设置逗号分隔的 URI 列表时(例如 tcp://localhost:1883,tcp://localhost:1884),处理器将在连接失败时使用轮询算法连接到代理。
支持表达式语言:是(仅使用环境/系统变量求值)
MQTT Specification Version0
  • v3 AUTO — 从 v3.1.1 开始,如果 broker 不支持则回退到 v3.1.0
  • v5.0
  • v3.1.1
  • v3.1.0
与代理连接时的 MQTT 规范版本。 有关详细信息,请参阅允许值说明。
Username连接到代理时使用的用户名
支持表达式语言:是(仅使用环境/系统变量求值)
Password连接到代理时使用的密码
敏感属性:是
SSL Context Service控制器服务 API:
SSLContextService
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
SSL 上下文服务用于为 TLS/SSL 连接提供客户端证书信息。
Session Statetrue
  • 清除会话 — 客户端和服务器丢弃任何之前的会话并开始一个新会话。此会话的持续时间与网络连接一样长。与此会话关联的状态数据不会在任何后续会话中重用
  • 恢复会话 — 服务器基于当前会话的状态恢复与客户端的通信(由 ClientID 标识)。客户端和服务器在断开连接后存储会话。在断开非清除会话后,服务器将进一步存储匹配客户端在断开连接时的任何订阅的 QoS 1 和 QoS 2 消息,作为会话状态的一部分
是否开始新的流程或恢复之前的流程。 有关详细信息,请参阅允许值说明。
Session Expiry Interval24 hrs在此间隔之后,代理将使客户端过期并清除会话状态。
Client ID要使用的 MQTT 客户端 ID。 如果未设置,将生成一个 UUID。
支持表达式语言:是(仅使用环境/系统变量求值)
Topic将消息发布到的主题。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Retain Message是否应在 MQTT 消息上设置保留标志。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Quality of Service发送消息的服务质量 (QoS)。接受三个值:'0'、'1' 和 '2';'0' 表示'最多一次','1' 表示'至少一次','2' 表示'恰好一次'。支持表达式语言以支持发布具有不同 QoS 的消息,但属性的最终值必须是 '0'、'1' 或 '2'。
支持表达式语言:是(使用 FlowFile 属性与环境/系统变量求值)
Record Reader控制器服务 API:
RecordReaderFactory
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
用于将传入的 FlowFile 解析为记录的记录读取器。
Record Writer控制器服务 API:
RecordSetWriterFactory
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
Record Writer用于在将记录发布为 MQTT 消息之前序列化记录。
Message Demarcator使用此属性,您可以选择从单个 FlowFile 发布多条消息。此属性允许您提供一个字符串(解释为 UTF-8)用于分隔 FlowFile 内容。这是一个可选属性;如果未提供且未定义 Record Reader/Writer,则每个 FlowFile 将作为单条消息发布。要输入特殊字符(如 'new line'),请使用 CTRL+Enter 或 Shift+Enter,具体取决于操作系统。
支持表达式语言:是(仅使用环境/系统变量求值)
连接超时30客户端等待与 MQTT 服务器的网络连接建立的最大时间间隔(以秒为单位)。默认超时为 30 秒。值为 0 将禁用超时处理,表示客户端将一直等待直到网络连接成功建立或失败。
Keep Alive60定义发送或接收消息之间的最大时间间隔(以秒为单位)。它使客户端能够检测服务器是否不再可用,而无需等待 TCP/IP 超时。客户端将确保在每个保活周期内至少有一条消息穿越网络。在该时间段内如果没有数据相关消息,客户端将发送一个非常小的 "ping" 消息,服务器将确认该消息。值为 0 将禁用客户端中的保活处理。
Last Will Message作为客户的遗嘱发送的消息。
Last Will Topic发送客户遗嘱的主题。
Last Will Retainfalse
  • true
  • false
是否保留委托人的遗嘱。
Last Will QoS Level0
  • 0 - At most once — 尽力而为的传递。消息不会被接收方确认,也不会被发送方存储和重新传递。 这通常被称为“即发即弃”(fire and forget),并提供与底层 TCP 协议相同的保证。
  • 1 - At least once — 保证消息至少传递一次给接收方。 消息也可能被传递多次
  • 2 - Exactly once — 保证每条消息只被对方接收一次。这是最安全但也 最慢的服务质量级别。该保证通过发送方和接收方之间的两次往返流程提供。
发布遗嘱消息时使用的 QoS 级别。

关系 (Relationships)

名称描述自动终止
failure未能发送到目的地的 FlowFile 将传输到此关系。否
success成功发送到目的地的FlowFile将传输到此关系。否

状态管理

该组件不存储状态。

受限 (Restricted)

该组件不受限。

输入要求

该组件要求有传入连接。

系统资源考量

资源描述
MEMORYAn instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.

另请参阅