儲存桶通知
MinIO 儲存桶通知允許管理員在發生某些物件或儲存桶事件時,將通知傳送到支援的外部服務。MinIO 支援類似於 Amazon S3 事件通知的儲存桶和物件層級 S3 事件。
支援的通知目標
MinIO 支援將事件通知發佈到以下目標
目標 |
描述 |
---|---|
AMQP (RabbitMQ) |
將通知發佈到 AMQP 服務,例如 RabbitMQ。 如需教學,請參閱 將事件發佈到 AMQP (RabbitMQ)。 |
MQTT |
將通知發佈到 MQTT 服務。 如需教學,請參閱 將事件發佈到 MQTT。 |
NATS |
將通知發佈到 NATS 服務。 如需教學,請參閱 將事件發佈到 NATS。 |
NSQ |
將通知發佈到 NSQ 服務。 如需教學,請參閱 將事件發佈到 NSQ。 |
Elasticsearch |
將通知發佈到 Elasticsearch 服務。 如需教學,請參閱 將事件發佈到 Elasticsearch。 |
Kafka |
將通知發佈到 Kafka 服務。 如需教學,請參閱 將事件發佈到 Kafka。 |
MySQL |
將通知發佈到 MySQL 服務。 請參閱發佈事件到 MySQL 以取得教學。 |
PostgreSQL |
將通知發佈到 PostgreSQL 服務。 請參閱發佈事件到 PostgreSQL 以取得教學。 |
Redis |
將通知發佈到 Redis 服務。 請參閱發佈事件到 Redis 以取得教學。 |
Webhook |
將通知發佈到 Webhook 服務。 請參閱發佈事件到 Webhook 以取得教學。 |
非同步 vs 同步儲存桶通知
新版本於 RELEASE.2023-06-23T20-26-00Z 加入:MinIO 支援所有遠端目標的非同步(預設)或同步儲存桶通知。
使用非同步傳遞時,MinIO 會在設定的遠端觸發事件,並且在繼續下一個事件之前不會等待回應。非同步儲存桶通知會優先傳送事件,但如果遠端目標在傳輸或處理期間發生暫時性問題,則可能會遺失某些事件。
使用同步傳遞時,MinIO 會在設定的遠端觸發事件,然後等待遠端確認已成功接收,才會繼續下一個事件。同步儲存桶通知會優先傳送事件,但可能會導致事件傳送速度較慢和佇列填滿的風險。
若要為所有已設定的遠端目標啟用同步儲存桶通知,請使用以下任一設定
將
MINIO_API_SYNC_EVENTS
環境變數設定為on
並重新啟動 MinIO 部署。將
api.sync_events
設定設定為on
並重新啟動 MinIO 部署。
注意
對於同步和非同步事件,MinIO 會維護每個遠端的佇列,用於儲存未傳送和待處理的事件。佇列限制預設為 100000
。
當佇列已滿時,MinIO 會捨棄新的事件。
您可以根據需要增加佇列大小,以便更好地適應 MinIO 部署和遠端目標的事件傳送和處理速率。使用通知方法的 QUEUE_LIMIT
環境變數或設定設定來修改此限制。
對於非同步事件,MinIO 最多允許 50000
個並行 send
呼叫。
支援的 S3 事件類型
MinIO 儲存桶通知與 Amazon S3 事件通知相容。本節列出所有支援的事件。
物件事件
MinIO 支援在以下 S3 物件事件上觸發通知
指定萬用字元 *
來選取與前置詞相關的所有事件
複寫事件
MinIO 支援在以下 S3 複寫事件上觸發通知
指定萬用字元 *
來選取所有 s3:Replication
事件
ILM 轉換事件
MinIO 支援在以下 S3 ILM 轉換事件上觸發通知
指定萬用字元 *
來選取與前置詞相關的所有事件
掃描器事件
MinIO 支援在以下 S3 掃描器 轉換事件上觸發通知
- s3:Scanner:ManyVersions
掃描器 找到具有超過 1,000 個版本的物件。
- s3:Scanner:BigPrefix
掃描器 找到具有超過 50,000 個子資料夾的前置詞。
全域事件
MinIO 支援在以下全域事件上觸發通知。您只能透過 ListenNotification API 來監聽這些事件