1
0
mirror of https://github.com/minio/docs.git synced 2025-08-06 14:42:56 +03:00
Files
docs/source/administration/monitoring/bucket-notifications.rst
Daryl White 56ecef97b2 Fix for bucket event limits (#1337)
- Updates information on limits related to events.
- Adds cert-manager pages to URL-excludes file for non-k8s builds

Closes #1313
2024-10-03 17:29:59 -04:00

7.8 KiB

Bucket Notifications

minio

Table of Contents

MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications <NotificationHowTo.html>.

Supported Notification Targets

MinIO supports publishing event notifications to the following targets:

Target Description

AMQP (RabbitMQ)

Publish notifications to an AMQP service such as RabbitMQ.

See minio-bucket-notifications-publish-amqp for a tutorial.

MQTT

Publish notifications to an MQTT service.

See minio-bucket-notifications-publish-mqtt for a tutorial.

NATS

Publish notifications to a NATS service.

See minio-bucket-notifications-publish-nats for a tutorial.

NSQ

Publish notifications to a NSQ service.

See minio-bucket-notifications-publish-nsq for a tutorial

Elasticsearch

Publish notifications to a Elasticsearch service.

See minio-bucket-notifications-publish-elasticsearch for a tutorial.

Kafka

Publish notifications to a Kafka service.

See minio-bucket-notifications-publish-kafka for a tutorial.

MySQL

Publish notifications to a MySQL service.

See minio-bucket-notifications-publish-mysql for a tutorial.

PostgreSQL

Publish notifications to a PostgreSQL service.

See minio-bucket-notifications-publish-postgresql for a tutorial.

Redis

Publish notifications to a Redis service.

See minio-bucket-notifications-publish-redis for a tutorial.

webhook

Publish notifications to a Webhook service.

See minio-bucket-notifications-publish-webhook for a tutorial.

Asynchronous vs Synchronous Bucket Notifications

RELEASE.2023-06-23T20-26-00Z

MinIO supports either asynchronous (default) or synchronous bucket notifications for all remote targets.

With asynchronous delivery, MinIO fires the event at the configured remote and does not wait for a response before continuing to the next event. Asynchronous bucket notification prioritizes sending events with the risk of some events being lost if the remote target has a transient issue during transit or processing.

With synchronous delivery, MinIO fires the event at the configured remote and then waits for the remote to confirm a successful receipt before continuing to the next event. Synchronous bucket notification prioritizes delivery of events with the risk of a slower event-send rate and queue fill.

To enable synchronous bucket notifications for all configured remote targets, use either of the following settings:

  • Set the MINIO_API_SYNC_EVENTS environment variable to on and restart the MinIO deployment.
  • Set the api.sync_events configuration setting to on and restart the MinIO deployment.

Note

For synchronous and asynchronous events, MinIO maintains a per-remote queue where it stores unsent and pending events. The queue limit defaults to 100000.

MinIO discards new events when the queue is full.

You can increase the queue size as necessary to better accommodate the rate of event send and processing of the MinIO deployment and remote target. Use the QUEUE_LIMIT environment variable or configuration setting for your notification method to modify this limit.

For asynchronous events, MinIO allows a maximum of 50000 concurrent send calls.

Supported S3 Event Types

MinIO bucket notifications are compatible with Amazon S3 Event Notifications <NotificationHowTo.html>. This section lists all supported events.

Object Events

MinIO supports triggering notifications on the following S3 object events:

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

Specify the wildcard * character to select all events related to a prefix:

s3:ObjectAccessed:*

Selects all s3:ObjectAccessed-prefixed events.

s3:ObjectCreated:*

Selects all s3:ObjectCreated-prefixed events.

s3:ObjectRemoved:*

Selects all s3:ObjectRemoved-prefixed events.

Replication Events

MinIO supports triggering notifications on the following S3 replication events:

s3:Replication:OperationCompletedReplication

s3:Replication:OperationFailedReplication

s3:Replication:OperationMissedThreshold

s3:Replication:OperationNotTracked

s3:Replication:OperationReplicatedAfterThreshold

Specify the wildcard * character to select all s3:Replication events:

s3:Replication:*

ILM Transition Events

MinIO supports triggering notifications on the following S3 ILM transition events:

s3:ObjectRestore:Post

s3:ObjectRestore:Completed

s3:ObjectTransition:Failed

s3:ObjectTransition:Complete

Specify the wildcard * character to select all events related to a prefix:

s3:ObjectTransition:*

Selects all s3:ObjectTransition-prefixed events.

s3:ObjectRestore:*

Selects all s3:ObjectRestore-prefixed events.

Scanner Events

MinIO supports triggering notifications on the following S3 scanner <minio-concepts-scanner> transition events:

s3:Scanner:ManyVersions

Scanner <minio-concepts-scanner> finds objects with more than 1,000 versions.

s3:Scanner:BigPrefix

Scanner <minio-concepts-scanner> finds prefixes with more than 50,000 sub-folders.

Global Events

MinIO supports triggering notifications on the following global events. You can only listen to these events through the ListenNotification API:

s3:BucketCreated

s3:BucketRemoved

/administration/monitoring/publish-events-to-amqp /administration/monitoring/publish-events-to-mqtt /administration/monitoring/publish-events-to-nats /administration/monitoring/publish-events-to-nsq /administration/monitoring/publish-events-to-elasticsearch /administration/monitoring/publish-events-to-kafka /administration/monitoring/publish-events-to-mysql /administration/monitoring/publish-events-to-postgresql /administration/monitoring/publish-events-to-redis /administration/monitoring/publish-events-to-webhook