儲存桶通知
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。 |
非同步與同步儲存桶通知
版本 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 監聽這些事件