MQTTSubscribe 策略

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

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

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

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

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

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

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

值类型:字符串

主题名称 topicName 此属性指定 MQTTSubscribe 节点预订以接收消息的 MQTT 主题的名称。

值类型:字符串

主机名 hostName 此属性指定 MQTTSubscribe 节点预订以接收消息的 MQTT 服务器的主机名。

值类型:字符串

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

值类型:整数

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

值类型:整数

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

值类型:字符串

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

值类型:布尔值