文件

MQTT 通知設定

本頁說明將 MQTT 服務設定為 儲存桶通知 目標的設定。有關使用這些設定的教學課程,請參閱 將事件發佈至 MQTT

您可以透過定義以下方式建立或修改設定:

  • 在啟動或重新啟動 MinIO 伺服器之前,在主機系統上定義一個環境變數。有關如何定義環境變數,請參閱作業系統的文件。

  • 使用 mc admin config set 使用組態設定

  • 使用 MinIO 主控台管理員 > 設定頁面使用組態設定

如果您定義了環境變數和類似的組態設定,MinIO 將使用環境變數值。

某些設定只有環境變數或組態設定,但不是兩者都有。

重要事項

每個組態設定都會控制 MinIO 的基本行為和功能。MinIO 強烈建議在套用至生產環境之前,先在較低的環境(例如 DEV 或 QA)中測試組態變更。

多個 MQTT 目標

您可以透過在每個相關 MQTT 設定集的最上層金鑰附加唯一識別碼 _ID 來指定多個 MQTT 服務端點。例如,以下命令將兩個不同的 MQTT 服務端點分別設定為 PRIMARYSECONDARY

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

set MINIO_NOTIFY_MQTT_ENABLE_SECONDARY="on"
set 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 的 MQTT 服務端點相關聯。

設定

啟用

必要

MINIO_NOTIFY_MQTT_ENABLE

指定 on 以啟用將儲存桶通知發佈到 MQTT 端點。

預設為 off

notify_mqtt

用於定義 MQTT 伺服器/代理端點以與 MinIO 儲存桶通知 搭配使用的最上層組態金鑰。

使用 mc admin config set 來設定或更新 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 支援透過 TCP、TLS 或 Websocket 連線至伺服器/訊息代理 URL。例如

  • 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 伺服器/訊息代理強制執行身份驗證/授權,則為必填

MINIO_NOTIFY_MQTT_PASSWORD
notify_mqtt password

指定 MinIO 用於驗證 MQTT 伺服器/訊息代理身份的 MQTT 使用者名稱的密碼。

在版本 RELEASE.2023-06-23T20-26-00Z 中變更:當作為 mc admin config get 的一部分傳回時,MinIO 會編輯此值。

Quality of Service (服務品質)

選填

MINIO_NOTIFY_MQTT_QOS
notify_mqtt qos

指定發佈事件的服務品質優先順序。

預設為 0

Keep Alive Interval (保持連線間隔)

選填

MINIO_NOTIFY_MQTT_KEEP_ALIVE_INTERVAL
notify_mqtt keep_alive_interval

指定 MQTT 連線的保持連線間隔。MinIO 支援以下時間測量單位

  • s - 秒,例如 "60s"

  • m - 分鐘,例如 "60m"

  • h - 小時,例如 "24h"

  • d - 天,例如 "7d"

Reconnect Interval (重新連線間隔)

選填

MINIO_NOTIFY_MQTT_RECONNECT_INTERVAL
notify_mqtt reconnect_interval

指定 MQTT 連線的重新連線間隔。MinIO 支援以下時間測量單位

  • s - 秒,例如 "60s"

  • m - 分鐘,例如 "60m"

  • h - 小時,例如 "24h"

  • d - 天,例如 "7d"

Queue Directory (佇列目錄)

選填

MINIO_NOTIFY_MQTT_QUEUE_DIR
notify_mqtt queue_dir

指定目錄路徑以啟用 MinIO 對於未傳送訊息的持久事件儲存,例如 /opt/minio/events

當 MQTT 伺服器/訊息代理處於離線狀態時,MinIO 會將未傳送的事件儲存在指定的儲存區中,並在連線恢復時重新播放儲存的事件。

Queue Limit (佇列限制)

選填

MINIO_NOTIFY_MQTT_QUEUE_LIMIT
notify_mqtt queue_limit

指定未傳送訊息的最大限制。預設為 100000

Comment (註解)

選填

MINIO_NOTIFY_MQTT_COMMENT
notify_mqtt comment

指定與 MQTT 設定關聯的註解。