中文文档

MQTT 通知设置

本页面文档化了配置MQTT服务作为 Bucket Notifications 目标的设置。 请参阅 将事件发布至MQTT,了解使用这些设置的教程。

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

  • 在启动或重新启动 MinIO 服务器之前,在宿主系统上定义一个 环境变量。 请参阅您的操作系统的文档,了解如何定义环境变量。

  • 使用 mc admin config set 命令来设置一个 配置项

  • 使用 MinIO控制台管理员 > 设置 页面来设置一个 配置项

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

有些设置只有环境变量或配置设置,而不是两者都有。

重要

每个配置设置都控制着MinIO的基本行为和功能。 MinIO 强烈建议 在较低的环境中,如DEV或QA,测试配置更改,然后再将其应用到生产环境中。

多个 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 环境变量表示与具有 PRIMARY ID 的 MQTT 服务端点相关联。

设置

Enable

必需的

MINIO_NOTIFY_MQTT_ENABLE

on 指定为启用将桶通知发布到MQTT端点。

默认为 off

notify_mqtt

用于定义与 MinIO 桶通知 一起使用的 MQTT 服务器/代理端点的顶级配置键。

使用 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"] ... \

Broker

必需的

MINIO_NOTIFY_MQTT_BROKER
notify_mqtt broker

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

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

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

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

在 RELEASE.2023-05-27T05-56-19Z 版本发生变更: 在添加目标之前,MinIO会检查指定URL的健康状况(如果其能被解析并可以访问)。 如果现有目标离线,MinIO不再阻止添加新的通知目标。

Topic

必需的

MINIO_NOTIFY_MQTT_TOPIC
notify_mqtt topic

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

Username

如果 MQTT 服务器/代理强制实施身份验证/授权,则需要指定。

MINIO_NOTIFY_MQTT_USERNAME
notify_mqtt username

指定 MinIO 应使用以身份验证到 MQTT 服务器/代理的 MQTT 用户名。

Password

如果 MQTT 服务器/代理强制实施身份验证/授权,则需要指定 MQTT 用户名。

MINIO_NOTIFY_MQTT_PASSWORD
notify_mqtt password

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

在 RELEASE.2023-06-23T20-26-00Z 版本发生变更: 当作为 mc admin config get 命令的一部分返回时,MinIO 会删除这个值。

服务质量

可选

MINIO_NOTIFY_MQTT_QOS
notify_mqtt qos

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

默认为 0

保持存活间隔

可选

MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL
notify_mqtt keep_alive_interval

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

  • s - seconds, “60s”

  • m - minutes, “60m”

  • h - hours, “24h”

  • d - days, “7d”

重新连接间隔

可选

MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL
notify_mqtt reconnect_interval

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

  • s - seconds, “60s”

  • m - minutes, “60m”

  • h - hours, “24h”

  • d - days, “7d”

队列目录

可选

MINIO_NOTIFY_MQTT_QUEUE_DIR
notify_mqtt queue_dir

指定目录路径以启用MinIO的持久化事件存储,例如 /opt/minio/events

当 MQTT 服务器/代理离线时,MinIO 将未交付的事件存储在指定的存储中,并在连接恢复时重新播放存储的事件。

队列限制

可选

MINIO_NOTIFY_MQTT_QUEUE_LIMIT
notify_mqtt queue_limit

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

Comment

可选

MINIO_NOTIFY_MQTT_COMMENT
notify_mqtt comment

为 MQTT 配置指定一个注释。

Join Slack 商业支持购买咨询