儲存桶通知
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 監聽這些事件