community.general.mqtt 模块 – 为 IoT 发布 MQTT 主题消息
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible 包,则可能已经安装了此集合。 它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.general。 您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。
要在 playbook 中使用它,请指定:community.general.mqtt。
概要
- 在 MQTT 主题上发布消息。 
要求
以下要求需要在执行此模块的主机上满足。
- mosquitto 
参数
| 参数 | 注释 | 
|---|---|
| 要被此客户端视为受信任的证书颁发机构证书文件的路径。 如果这是唯一给出的选项,则客户端的操作方式与 Web 浏览器类似。 也就是说,它将要求代理具有由 ca_certs 中的证书颁发机构签名的证书,并将使用 TLS v1 进行通信,但不会尝试任何形式的身份验证。 这提供了基本的网络加密,但可能不足以满足代理的配置方式。 | |
| 指向 PEM 编码客户端证书的路径。 如果此项不为 None,它将用作基于 TLS 身份验证的客户端信息。 此功能的支持取决于代理。 | |
| MQTT 客户端标识符 如果未指定,将使用值  | |
| 指向 PEM 编码客户端私钥的路径。 如果此项不为 None,它将用作基于 TLS 身份验证的客户端信息。 此功能的支持取决于代理。 | |
| 用于针对代理进行身份验证的  | |
| 有效负载。 特殊字符串  | |
| MQTT 代理端口号 默认值:  | |
| QoS(服务质量) 选择 
 | |
| 设置此标志会使代理保留(即保持)消息,以便随后订阅主题的应用程序可以立即收到上次保留的消息。 选择 
 | |
| MQTT 代理地址/名称 默认值:  | |
| 指定要使用的 SSL/TLS 协议版本。 默认情况下(如果 python 版本支持),则会检测到最高的 TLS 版本。如果不可用,则使用 TLS v1。 选择 
 | |
| MQTT 主题名称 | |
| 用于向代理验证的用户名。 | 
属性
| 属性 | 支持 | 描述 | 
|---|---|---|
| 支持: 完全 | 可以在  | |
| 支持: 无 | 当处于 diff 模式时,将返回已更改(或可能需要在  | 
备注
注意
- 此模块需要连接到 MQTT 代理,例如 Mosquitto http://mosquitto.org 和 Paho - mqttPython 客户端 (https://pypi.ac.cn/project/paho-mqtt/)。
示例
- name: Publish a message on an MQTT topic
  community.general.mqtt:
    topic: 'service/ansible/{{ ansible_hostname }}'
    payload: 'Hello at {{ ansible_date_time.iso8601 }}'
    qos: 0
    retain: false
    client_id: ans001
  delegate_to: localhost
