Webhook-based bucket event notifications.
On object create/delete events, POSTs event JSON to configured webhook endpoints. Notifications are delivered asynchronously via Task.Supervisor.
Configuration stored in Concord: "notification:{bucket}"
Notification config format: %{
id: "notification-id",
events: ["s3:ObjectCreated:*", "s3:ObjectRemoved:*"],
endpoint: "https://example.com/webhook",
enabled: true}
Summary
Functions
Build an S3-style event notification payload.
Delete notification configuration for a bucket.
Get notification configuration for a bucket.
Notify about an object event. Sends webhooks asynchronously.
Configure notifications for a bucket.
Functions
Build an S3-style event notification payload.
@spec delete_config(String.t()) :: :ok
Delete notification configuration for a bucket.
Get notification configuration for a bucket.
Notify about an object event. Sends webhooks asynchronously.
Event types:
- "s3:ObjectCreated:Put"
- "s3:ObjectCreated:Copy"
- "s3:ObjectCreated:CompleteMultipartUpload"
- "s3:ObjectRemoved:Delete"
- "s3:ObjectRemoved:DeleteMarkerCreated"
Configure notifications for a bucket.