文件

AMQP 通知設定

本頁記錄了將 AMQP 服務設定為 儲存區通知 目標的設定。有關使用這些設定的教學課程,請參閱將事件發佈到 AMQP (RabbitMQ)

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

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

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

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

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

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

重要

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

多個 AMQP 目標

您可以透過將每個相關 AMQP 設定集的唯一識別碼 _ID 附加到頂層金鑰,來指定多個 AMQP 服務端點。

範例

例如,以下命令會將兩個不同的 AMQP 服務端點分別設定為 PRIMARYSECONDARY

set MINIO_NOTIFY_AMQP_ENABLE_PRIMARY="on"
set MINIO_NOTIFY_AMQP_URL_PRIMARY="amqp://user:password@amqp-endpoint.example.net:5672"

set MINIO_NOTIFY_AMQP_ENABLE_SECONDARY="on"
set MINIO_NOTIFY_AMQP_URL_SECONDARY="amqp://user:password@amqp-endpoint.example.net:5672"

例如,MINIO_NOTIFY_AMQP_ENABLE_PRIMARY 表示該環境變數與 ID 為 PRIMARY 的 AMQP 服務端點相關聯。

mc admin config set notify_amqp:primary \
   url="user:password@amqp://amqp-endpoint.example.net:5672" [ARGUMENT=VALUE ...]

mc admin config set notify_amqp:secondary \
   url="user:password@amqp://amqp-endpoint.example.net:5672" [ARGUMENT=VALUE ...]

請注意,對於組態設定,唯一識別碼只會附加到 amqp,而不是附加到每個個別的引數。

設定

啟用

MINIO_NOTIFY_AMQP_ENABLE

如果設定為 on,則需要指定 MINIO_NOTIFY_AMQP_URL

指定 on 以啟用將儲存貯體通知發佈到 AMQP 端點。

預設為 off

notify_amqp

用於定義與 MinIO 儲存貯體通知 搭配使用的 AMQP 服務端點的最上層組態鍵。

使用 mc admin config set 設定或更新 AMQP 服務端點。每個目標都必須指定 url 引數。將其他選用引數指定為以空格 (" ") 分隔的清單。

mc admin config set notify_amqp \
  url="amqp://user:password@endpoint:port" \
  [ARGUMENT="VALUE"] ...

URL

必要

MINIO_NOTIFY_AMQP_URL
notify_amqp url

指定 MinIO 發佈儲存貯體事件的 AMQP 伺服器端點。例如,amqp://myuser:mypassword@localhost:5672

在版本 RELEASE.2023-05-27T05-56-19Z 中變更:MinIO 會在新增目標之前,檢查指定的 URL 是否運作正常 (是否可解析且可連線)。如果現有的目標離線,MinIO 不再會阻止新增新的通知目標。

交換機

選用

MINIO_NOTIFY_AMQP_EXCHANGE
notify_amqp exchange

指定要使用的 AMQP 交換機名稱。

交換機類型

選用

MINIO_NOTIFY_AMQP_EXCHANGE_TYPE
notify_amqp exchange_type

指定 AMQP 交換機的類型。

路由金鑰

選用

MINIO_NOTIFY_AMQP_ROUTING_KEY
notify_amqp routing_key

指定發佈事件的路由金鑰。

強制

選用

MINIO_NOTIFY_AMQP_MANDATORY
notify_amqp mandatory

指定 off 以忽略未傳遞訊息的錯誤。預設為 on

持久

選用

MINIO_NOTIFY_AMQP_DURABLE
notify_amqp durable

指定 on 以在代理程式重新啟動時保留訊息佇列。預設為 off

不等待

選用

MINIO_NOTIFY_AMQP_NO_WAIT
notify_amqp no_wait

指定 on 以啟用非封鎖訊息傳遞。預設為 off

內部

選用

MINIO_NOTIFY_AMQP_INTERNAL
notify_amqp internal

指定 on 以僅在交換機繫結到其他交換機時才使用該交換機。如需 AMQP 交換機繫結的詳細資訊,請參閱 RabbitMQ 文件中的交換機對交換機繫結

自動刪除

選用

MINIO_NOTIFY_AMQP_AUTO_DELETED
notify_amqp auto_deleted

指定 on 以在沒有任何取用者時自動刪除訊息佇列。預設為 off

傳遞模式

選用

MINIO_NOTIFY_AMQP_DELIVERY_MODE
notify_amqp delivery_mode

指定 1 以將傳遞模式設定為非持久佇列。

指定 2 以將傳遞模式設定為持久佇列。

佇列目錄

選用

MINIO_NOTIFY_AMQP_QUEUE_DIR
notify_amqp queue_dir

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

當 AMQP 服務離線時,MinIO 會將未傳遞的事件儲存在指定的儲存區中,並在連線恢復時重播儲存的事件。

佇列限制

選用

MINIO_NOTIFY_AMQP_QUEUE_LIMIT
notify_amqp queue_limit

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

註解

選用

MINIO_NOTIFY_AMQP_COMMENT
notify_amqp comment

指定 AMQP 組態的註解。