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