文件

儲存桶通知

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