文档基于2025-10-10日社区最终版构建     
切换到英文版    进入演示系统    进入交流社区

MinIO Documentation

MQTT 通知设置

本页记录了将 MQTT 服务配置为目标的设置存储桶通知.发布事件到 MQTT有关使用这些设置的教程。

您可以通过定义以下内容来建立或修改设置:

  • an 环境变量在启动或重启 MinIO 服务器之前,请在主机系统上设置此环境变量。 有关如何定义环境变量,请参阅操作系统的文档。

  • a 配置设置使用mc admin config set.

如果您同时定义了环境变量和类似的配置设置,MinIO 将使用环境变量的值。

某些设置只有环境变量或配置设置,但没有两者都提供。

重要

每个配置设置控制着 MinIO 的基本行为和功能。 MinIO强烈建议在应用到生产环境之前,先在较低环境(如开发环境或测试环境)中测试配置变更。

多个 MQTT 目标

您可以通过附加唯一标识符来指定多个 MQTT 服务端点_ID对于每组相关的 MQTT 设置,请将其置于顶层键下。 例如,以下命令设置了两个不同的 MQTT 服务端点:PRIMARYSECONDARY分别:

export MINIO_NOTIFY_MQTT_ENABLE_PRIMARY="on"
export MINIO_NOTIFY_MQTT_BROKER_PRIMARY="tcp://user:password@mqtt-endpoint.example.net:1883"

export MINIO_NOTIFY_MQTT_ENABLE_SECONDARY="on"
export MINIO_NOTIFY_MQTT_BROKER_SECONDARY="tcp://user:password@mqtt-endpoint.example.net:1883"
mc admin config set notify_mqtt:primary \
   broker="tcp://endpoint:port" \
   topic="minio/bucket-name/events/" \
   username="username" \
   password="password" \
   [ARGUMENT="VALUE"] ... \

mc admin config set notify_mqtt:secondary \
   broker="tcp://endpoint:port" \
   topic="minio/bucket-name/events/" \
   username="username" \
   password="password" \
   [ARGUMENT="VALUE"] ... \

使用这些设置,MINIO_NOTIFY_MQTT_ENABLE_PRIMARY表示该环境变量关联到ID为PRIMARY.

设置

启用

必需

MINIO_NOTIFY_MQTT_ENABLE

指定on以启用将存储桶通知发布到 MQTT 端点的功能。

默认值为off.

notify_mqtt

用于定义 MQTT 服务器/代理端点的顶级配置键MinIO 存储桶通知.

使用mc admin config set设置或更新 MQTT 服务器/代理端点。 以下参数是必需对于每个端点:

  • broker

  • topic

  • username 如果 MQTT 服务器/代理不强制要求身份验证/授权,则为可选

  • password 如果 MQTT 服务器/代理不强制要求身份验证/授权,则为可选

将其他可选参数指定为空格分隔的" ")-分隔的列表。

mc admin config set notify_mqtt \
   broker="tcp://endpoint:port" \
   topic="minio/bucket-name/events/" \
   username="username" \
   password="password" \
   [ARGUMENT="VALUE"] ... \

经纪人

必需

MINIO_NOTIFY_MQTT_BROKER
notify_mqtt 经纪人

指定 MQTT 服务器/代理端点。 MinIO 支持通过 TCP、TLS 或 Websocket 连接到服务器/代理 URL。 例如:

  • tcp://mqtt.example.net:1883

  • tls://mqtt.example.net:1883

  • ws://mqtt.example.net:1883

Changed in version RELEASE.2023-05-27T05-56-19Z:MinIO 在添加目标之前会检查指定 URL 的健康状态(是否可解析和可达)。 即使现有通知目标处于离线状态,MinIO 也不再阻止添加新的通知目标。

主题

必需

MINIO_NOTIFY_MQTT_TOPIC
notify_mqtt 主题

指定与 MinIO 发布到 MQTT 端点的事件相关联的 MQTT 主题名称。

用户名

如果 MQTT 服务器/代理强制要求身份验证/授权,则此项为必填项

MINIO_NOTIFY_MQTT_USERNAME
notify_mqtt 用户名

指定 MinIO 用于向 MQTT 服务器/代理进行身份验证的 MQTT 用户名。

密码

如果 MQTT 服务器/代理强制要求身份验证/授权,则此项为必填项

MINIO_NOTIFY_MQTT_PASSWORD
notify_mqtt 密码

指定 MinIO 用于向 MQTT 服务器/代理进行身份验证的 MQTT 用户名密码。

在版本 RELEASE.2023-06-23T20-26-00Z 中的变更:MinIO 在作为部分结果返回时会遮蔽此值mc admin config get.

服务质量

可选

MINIO_NOTIFY_MQTT_QOS
notify_mqtt 服务质量

指定已发布事件的服务质量优先级。

默认值为0.

保持活动间隔

可选

MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL
notify_mqtt keep_alive_interval

指定 MQTT 连接的保活间隔。MinIO 支持以下时间计量单位:

  • s- 秒,“60s”

  • m- 分钟,“60m”

  • h- 小时,"24h"

  • d- 天数,“7d”

重连间隔

可选

MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL
notify_mqtt reconnect_interval

指定 MQTT 连接的重连间隔。MinIO 支持以下时间单位:

  • s- 秒,“60s”

  • m- 分钟,“60m”

  • h- 小时,"24h"

  • d- 天数,“7d”

队列目录

可选

MINIO_NOTIFY_MQTT_QUEUE_DIR
notify_mqtt queue_dir

指定目录路径以启用 MinIO 的持久化事件存储,用于存放未送达的消息,例如/opt/minio/events.

MinIO 在 MQTT 服务器/代理离线时将未送达的事件存储在指定存储中,并在连接恢复时重放已存储的事件。

队列限制

可选

MINIO_NOTIFY_MQTT_QUEUE_LIMIT
notify_mqtt queue_limit

指定未送达消息的最大限制。 默认值为100000.

评论

可选

MINIO_NOTIFY_MQTT_COMMENT
notify_mqtt 评论

指定与 MQTT 配置关联的注释。