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