文档

存储桶通知

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 会维护一个每个远程目标的队列,用于存储未发送和挂起的事件。队列限制默认为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

扫描器 查找具有 1000 多个版本的 Object。

s3:Scanner:BigPrefix

扫描器 查找包含超过 50,000 个子文件夹的前缀。

全局事件

MinIO 支持在以下全局事件上触发通知。您只能通过 ListenNotification API 监听这些事件

s3:BucketCreated
s3:BucketRemoved