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
mqtt
Python 客户端 (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