MQTTPublish 策略
将 MQTTPublish 策略连接到消息流中的一个或多个 MQTTPublish 节点,以控制运行时特定 MQ Telemetry Transport (MQTT) 发布属性的值。
使用 MQTTPublish 节点将消息流中生成的消息发布到 MQTT 服务器上托管的主题。 然后,所发布的消息将由 MQTT 服务器传递给所有主题订户。 您可以将 MQTTPublish 策略连接到 MQTTPublish 节点,以在运行时控制节点将消息发布到 MQTT 服务器的方式。
注: MQTT 策略文档特定于 MQTT 节点的类型。 例如,可以将 MQTTPublish 策略连接到 MQTTPublish 节点的任何实例,但不能连接到 MQTTSubscribe 节点。
要将 MQTTPublish 策略连接到 MQTTPublish 节点,请将 MQTTPublish 节点的 策略 属性设置为策略名称,格式为 {policyProjectName}:policyName。 您必须先部署此策略,然后再启动关联消息流。
如果重新部署 MQTTPublish 策略,那么所有使用该策略的消息流都将停止并重新启动。
下表描述了此策略的属性。
| 属性 | .policyxml 文件中的属性名 | 值 |
|---|---|---|
| 客户机标识 | clientId | 此属性指定客户机的唯一名称。 客户机标识是一个字符串,长度为 1 到 23 个字符之间,用于向 MQTT 服务器标识 MQTT 客户机。 如果您指定了长度超过 23 个字符的客户机标识,那么当 MQTT 节点连接到 MQTT 服务器时,将仅使用最后 23 个字符。 连接到单个服务器的每个客户机必须使用唯一的客户机标识。 如果客户机尝试使用已在使用的客户机标识连接到 MQTT 服务器,那么该服务器将断开第一次客户机连接,并且改为接受新连接。 因此,在部署时,您必须确保要连接到同一服务器的任何 MQTT 节点都具有唯一的客户机标识。 值类型:字符串 |
| 主题名称 | topicName | 此属性指定 MQTTPublish 节点在其中发布消息的 MQTT 主题的名称。 值类型:字符串 |
| 主机名 | hostName | 此属性指定 MQTTPublish 节点在其中发布消息的 MQTT 服务器的主机名。 值类型:字符串 |
| 端口号 | 端口 | 此属性指定用于连接到 MQTT 服务器的端口号。 此属性的缺省端口号为 1883。 值类型:整数 |
| 服务质量 (QoS) | qos | 此属性指定用于传递 MQTT 消息的服务质量级别 (请参阅 服务质量和连接管理)。 有效值如下所示:
值类型:整数 |
| 安全身份 (DSN) | securityIdentity | 此属性指定由 mqsisetdbparms 命令创建的安全身份对象的名称。 安全身份包含用于认证与 MQTT 服务器的连接的用户标识和密码 (请参阅 mqsisetdbparms 命令)。 值类型:字符串 |
| 使用 SSL | useSSL | 此属性指定是否使用 SSL 保护 MQTTPublish 节点与 MQTT 服务器之间的连接 (请参阅 保护 MQTT 连接)。 此属性的缺省值为 False,表示未使用 SSL。 值类型:布尔值 |