文件

儲存桶通知

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 會維護每個遠端的佇列,以儲存未傳送和待處理的事件。佇列限制預設為 100000

當佇列已滿時,MinIO 會捨棄新的事件。

您可以根據需要增加佇列大小,以更好地適應 MinIO 部署和遠端目標的事件傳送和處理速率。使用通知方法的 QUEUE_LIMIT 環境變數或設定來修改此限制。

對於非同步事件,MinIO 允許最多 50000 個並行的 send 呼叫。

支援的 S3 事件類型

MinIO 儲存桶通知與 Amazon S3 事件通知相容。本節列出所有支援的事件。

物件事件

MinIO 支援在下列 S3 物件事件上觸發通知

s3:ObjectAccessed:Get
s3:ObjectAccessed:GetLegalHold
s3:ObjectAccessed:GetRetention
s3:ObjectAccessed:Head
s3:ObjectCreated:CompleteMultipartUpload
s3:ObjectCreated:Copy
s3:ObjectCreated:DeleteTagging
s3:ObjectCreated:Post
s3:ObjectCreated:Put
s3:ObjectCreated:PutLegalHold
s3:ObjectCreated:PutRetention
s3:ObjectCreated:PutTagging
s3:ObjectRemoved:Delete
s3:ObjectRemoved:DeleteMarkerCreated

指定萬用字元 * 字元以選取與字首相關的所有事件

s3:ObjectAccessed:*

選取所有以 s3:ObjectAccessed 為字首的事件。

s3:ObjectCreated:*

選取所有以 s3:ObjectCreated 為字首的事件。

s3:ObjectRemoved:*

選取所有以 s3:ObjectRemoved 為字首的事件。

複寫事件

MinIO 支援在下列 S3 複寫事件上觸發通知

s3:Replication:OperationCompletedReplication
s3:Replication:OperationFailedReplication
s3:Replication:OperationMissedThreshold
s3:Replication:OperationNotTracked
s3:Replication:OperationReplicatedAfterThreshold

指定萬用字元 * 字元以選取所有 s3:Replication 事件

s3:Replication:*

ILM 轉換事件

MinIO 支援在下列 S3 ILM 轉換事件上觸發通知

s3:ObjectRestore:Post
s3:ObjectRestore:Completed
s3:ObjectTransition:Failed
s3:ObjectTransition:Complete

指定萬用字元 * 字元以選取與字首相關的所有事件

s3:ObjectTransition:*

選取所有以 s3:ObjectTransition 為字首的事件。

s3:ObjectRestore:*

選取所有以 s3:ObjectRestore 為字首的事件。

掃描器事件

MinIO 支援在下列 S3 掃描器 轉換事件上觸發通知

s3:Scanner:ManyVersions

掃描器會找出超過 1,000 個版本的物件。

s3:Scanner:BigPrefix

掃描器會找出超過 50,000 個子資料夾的字首。

全域事件

MinIO 支援在下列全域事件上觸發通知。您只能透過 ListenNotification API 監聽這些事件

s3:BucketCreated
s3:BucketRemoved