MQTTPublish 策略

MQTTPublish 策略连接到消息流中的一个或多个 MQTTPublish 节点,以控制运行时特定 MQ Telemetry Transport (MQTT) 发布属性的值。

使用 MQTTPublish 节点将消息流中生成的消息发布到 MQTT 服务器上托管的主题。 然后,所发布的消息将由 MQTT 服务器传递给所有主题订户。 您可以将 MQTTPublish 策略连接到 MQTTPublish 节点,以在运行时控制节点将消息发布到 MQTT 服务器的方式。

注: MQTT 策略文档特定于 MQTT 节点的类型。 例如,可以将 MQTTPublish 策略连接到 MQTTPublish 节点的任何实例,但不能连接到 MQTTSubscribe 节点。

要将 MQTTPublish 策略连接到 MQTTPublish 节点,请将 MQTTPublish 节点的 策略 属性设置为策略名称,格式为 {policyProjectName}:policyName。 您必须先部署此策略,然后再启动关联消息流。

如果重新部署 MQTTPublish 策略,那么所有使用该策略的消息流都将停止并重新启动。

下表描述了此策略的属性。
表 1. MQTTPublish 策略的属性
属性 .policyxml 文件中的属性名
客户机标识 clientId 此属性指定客户机的唯一名称。

客户机标识是一个字符串,长度为 1 到 23 个字符之间,用于向 MQTT 服务器标识 MQTT 客户机。 如果您指定了长度超过 23 个字符的客户机标识,那么当 MQTT 节点连接到 MQTT 服务器时,将仅使用最后 23 个字符。 连接到单个服务器的每个客户机必须使用唯一的客户机标识。 如果客户机尝试使用已在使用的客户机标识连接到 MQTT 服务器,那么该服务器将断开第一次客户机连接,并且改为接受新连接。 因此,在部署时,您必须确保要连接到同一服务器的任何 MQTT 节点都具有唯一的客户机标识。

值类型:字符串

主题名称 topicName 此属性指定 MQTTPublish 节点在其中发布消息的 MQTT 主题的名称。

值类型:字符串

主机名 hostName 此属性指定 MQTTPublish 节点在其中发布消息的 MQTT 服务器的主机名。

值类型:字符串

端口号 端口 此属性指定用于连接到 MQTT 服务器的端口号。 此属性的缺省端口号为 1883

值类型:整数

服务质量 (QoS) qos 此属性指定用于传递 MQTT 消息的服务质量级别 (请参阅 服务质量和连接管理)。 有效值如下所示:
  • 0(缺省值):最多传送一次消息,也称为“即发即弃”。
  • 1:至少传送一次消息,也称为“已确认传送”。
  • 2:就传送一次消息,也称为“有保证的传送”。

值类型:整数

安全身份 (DSN) securityIdentity 此属性指定由 mqsisetdbparms 命令创建的安全身份对象的名称。 安全身份包含用于认证与 MQTT 服务器的连接的用户标识和密码 (请参阅 mqsisetdbparms 命令)。

值类型:字符串

使用 SSL useSSL 此属性指定是否使用 SSL 保护 MQTTPublish 节点与 MQTT 服务器之间的连接 (请参阅 保护 MQTT 连接)。 此属性的缺省值为 False,表示未使用 SSL。

值类型:布尔值