MQTT 通知設定
本頁說明將 MQTT 服務設定為 儲存桶通知 目標的設定。有關使用這些設定的教學課程,請參閱 將事件發佈至 MQTT。
您可以透過定義以下方式建立或修改設定:
在啟動或重新啟動 MinIO 伺服器之前,在主機系統上定義一個環境變數。有關如何定義環境變數,請參閱作業系統的文件。
使用
mc admin config set
使用組態設定。使用 MinIO 主控台 的 管理員 > 設定頁面使用組態設定。
如果您定義了環境變數和類似的組態設定,MinIO 將使用環境變數值。
某些設定只有環境變數或組態設定,但不是兩者都有。
重要事項
每個組態設定都會控制 MinIO 的基本行為和功能。MinIO 強烈建議在套用至生產環境之前,先在較低的環境(例如 DEV 或 QA)中測試組態變更。
多個 MQTT 目標
您可以透過在每個相關 MQTT 設定集的最上層金鑰附加唯一識別碼 _ID
來指定多個 MQTT 服務端點。例如,以下命令將兩個不同的 MQTT 服務端點分別設定為 PRIMARY
和 SECONDARY
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 服務端點相關聯。
設定
啟用
必要
用於定義 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 (訊息代理)
必要
指定 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 發佈至 MQTT 端點的事件關聯的 MQTT 主題名稱。
Username (使用者名稱)
如果 MQTT 伺服器/訊息代理強制執行身份驗證/授權,則為必填
指定 MinIO 應使用哪個 MQTT 使用者名稱來驗證 MQTT 伺服器/訊息代理的身份。
Password (密碼)
如果 MQTT 伺服器/訊息代理強制執行身份驗證/授權,則為必填
指定 MinIO 用於驗證 MQTT 伺服器/訊息代理身份的 MQTT 使用者名稱的密碼。
在版本 RELEASE.2023-06-23T20-26-00Z 中變更:當作為 mc admin config get
的一部分傳回時,MinIO 會編輯此值。
Quality of Service (服務品質)
選填
指定發佈事件的服務品質優先順序。
預設為 0
。
Keep Alive Interval (保持連線間隔)
選填
指定 MQTT 連線的保持連線間隔。MinIO 支援以下時間測量單位
s
- 秒,例如 "60s"m
- 分鐘,例如 "60m"h
- 小時,例如 "24h"d
- 天,例如 "7d"
Reconnect Interval (重新連線間隔)
選填
指定 MQTT 連線的重新連線間隔。MinIO 支援以下時間測量單位
s
- 秒,例如 "60s"m
- 分鐘,例如 "60m"h
- 小時,例如 "24h"d
- 天,例如 "7d"
Queue Directory (佇列目錄)
選填
指定目錄路徑以啟用 MinIO 對於未傳送訊息的持久事件儲存,例如 /opt/minio/events
。
當 MQTT 伺服器/訊息代理處於離線狀態時,MinIO 會將未傳送的事件儲存在指定的儲存區中,並在連線恢復時重新播放儲存的事件。
Queue Limit (佇列限制)
選填
指定未傳送訊息的最大限制。預設為 100000
。
Comment (註解)
選填
指定與 MQTT 設定關聯的註解。