Skip to main content

ConsumeMQTT

描述:

订阅主题并从MQTT代理接收消息

标签:

subscribe, MQTT, IOT, consume, listen, 订阅, 消费, 监听

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 参数还支持 表达式语言, 并且 如果将一个参数认定为"敏感", 表示是加密状态. 在输入一个敏感参数时, 确保 orchsym.properties 文件中存在属性设置 orchsym.sensitive.props.key.

名字默认值允许值列表描述
代理URI用于连接到MQTT代理的URI(例如tcp://localhost:1883)。支持"tcp"、"ssl"、"ws"和"wss"模式,为了使用"ssl",必须设置ssl上下文服务属性。
客户端ID要使用的MQTT客户端ID。如果不设置,将生成一个UUID。

支持表达式语言 (仅支持变量)
用户名连接到代理时使用的用户名
密码连接到代理时使用的密码

敏感状态
SSL上下文服务控制器服务API:
SSLContextService
实现:
StandardRestrictedSSLContextService
StandardSSLContextService
用于为TLS/SSL连接提供客户端证书信息的SSL上下文服务。
最后遗愿(Will)话题客户最后遗愿(Will)要发送到的主题。如果未设置最后遗愿主题和消息,则不会发送最后遗愿。
最后遗愿(Will)消息要作为客户的最后遗愿(Will)发送的消息。如果未设置最后遗愿主题和消息,则不会发送最后遗愿。
保留最后遗愿(Will)
- true
- false
是否保留客户的最后遗愿(Will)。如果未设置最后遗愿主题和消息,则不会发送最后遗愿。
最后遗愿(Will)服务质量等级
- 0 - 最多一次尽最大努力交付。消息不会被接收方确认或由发送方存储和重新发送。这通常称为“射后不理(fire and forget)”,并提供与底层TCP协议相同的保证。
- 1 - 至少一次确保消息将至少发送一次给接收者。消息也可以传递多次。
- 2 - 只有一次保证每个消息只被对应方接收一次。它是最安全的,也是最慢的Qos级别。由发送方和接收方之间的两个往返流提供保证。
在发布最后一条Will消息时使用的服务质量(Qos)等级
会话状态清理会话
- 清理会话客户端和服务端丢弃以前的会话,并启动一个新的会话。此会话与网络连接的持续时间一样长。与此会话关联的状态数据不会在任何后续会话中重用。
- 恢复会话服务端根据当前会话的状态(由ClientID标识)恢复与客户端的通信。客户端和服务端断开连接后,会存储相应的会话。在断开不干净(clean)的会话之后,服务端将存储QoS 1和QoS 2消息,这些消息匹配客户端在断开会话时作为会话状态的一部分拥有的任何订阅。
是否重新启动或恢复以前的流程。有关详细信息,请参阅允许值的描述。
MQTT版本自动
- 自动从v3.1.1开始,如果代理不支持,则退到v3.1.0
- v3.1.1
- v3.1.0
与代理连接的MQTT版本。有关详细信息,请参阅允许值的描述。
连接超时(秒)30客户端将等待与MQTT服务端建立网络连接的最大时间间隔。默认超时时间为30秒。值0禁用超时处理,这意味着客户端将等待直到网络连接成功或失败。
保持存活(Keep Alive)间隔(秒)60定义发送或接收消息之间的最大时间间隔。它使客户端能够检测服务端是否已不可用,而不必等待TCP/IP超时。客户端将确保在每个keep alive期间至少有一条消息通过网络传输。在这段时间内,如果没有与数据相关的消息,客户端将发送一个非常小的“ping”消息,服务器将确认该消息。值0表示禁用客户端中的keepalive处理。
组ID要使用的MQTT使用者组ID。如果没有设置组ID,客户端将作为单个消费者连接。
主题过滤MQTT主题过滤器指定要订阅的主题。
服务质量(QoS)0 - 最多一次
- 0 - 最多一次尽最大努力交付。消息不会被接收方确认或由发送方存储和重新发送。这通常称为“射后不理(fire and forget)”,并提供与底层TCP协议相同的保证。
- 1 - 至少一次确保消息将至少发送一次给接收者。消息也可以传递多次。
- 2 - 只有一次保证每个消息只被对应方接收一次。它是最安全的,也是最慢的Qos级别。由发送方和接收方之间的两个往返流提供保证。
消息接收的服务质量(QoS),值为“0”、“1”或“2”。“0”表示“最多一次”,“1”表示“至少一次”,“2”表示“恰好一次”。
队列最大大小MQTT消息总是发送到主题上的订阅者。如果“Run Schedule”明显落后于消息到达此组件的速度,则可能发生备份。此属性指定该组件一次将在内存中保存的最大消息数。

连线:

名字描述
MessageMQTT消息输出

读取属性:

未提供。

写入属性:

名字描述
mqtt.broker消息源的MQTT代理
mqtt.topic接收消息的MQTT主题
mqtt.qos此消息的服务质量(Qos)。
mqtt.isDuplicate此消息是否可能是已接收到某消息的副本。
mqtt.isRetained此消息是否来自当前的发布服务器,还是作为发布在主题上的由服务器“保留”的最后一条消息。

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件禁止提供输入流。

系统资源考量:

未提供。

参考:

PublishMQTT