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