1. Home
  2. Destinations
  3. Amazon EventBridge
DESTINATION · QUEUES & STREAMS

Postgres changes on an EventBridge bus.

Each change becomes an event with the operation as its detail type, so rules can match inserts, updates or deletes on a table and hand them to any target.

The EventBridge sink is the event-driven Postgres story on AWS: a row changes, an event appears on the bus, rules decide what runs. Detail type is the operation (insert, update, delete) and the detail is the change JSON, so a rule can match detail.table and the op in one pattern.

How delivery works

AspectBehaviour for Amazon EventBridge
Eventsource = configured source; detail-type = the change's op; detail = the change JSON.
BatchingPutEvents in chunks of 10.
OrderingEventBridge does not order events; the change's seq and commit_lsn let targets re-sequence when they must.
IdempotencyThe idempotency_key inside the detail.
On failureAny failed entry retries the batch. A failed request is retried up to 5 times with exponential backoff (30 s, 1, 2, 4 min, with jitter). After the fifth failure the message is parked as undelivered, the console shows it with the last error, and one click replays it — later changes to the same row wait behind it so order is preserved.
Connection checkDescribeEventBus on the configured or default bus.

Set up in three steps

  1. Connect your database

    Paste a connection string and press Test. Waltail checks the version (12+), that wal_level is logical, that the user may replicate, and that a slot is free — and shows the fix for anything that fails. Then it creates its own publication and replication slot. Connection guide →

  2. Add Amazon EventBridge as a destination

    Pick the tables to stream, choose Amazon EventBridge, and fill in Region, Access key ID, Secret access key. Press Test — Waltail checks it can reach and write to Amazon EventBridge before anything is saved.

  3. Change a row

    Insert or update a row. The console shows the first event as it is captured and delivered; from then on, every committed change follows within about a second. Have rows that already exist? Run a backfill — confirm the estimate and they arrive through Amazon EventBridge as read events.

Configuration

Fields as the console asks for them. Secrets are encrypted at rest and never shown again.

FieldConsole labelRequiredNotes
event_bus_nameEvent busOptionalEmpty uses the account's default bus.
sourceEvent sourceOptionalDefaults to waltail.
regionRegionYesAWS region of the resource, e.g. us-east-1.
access_key_idAccess key IDYesStatic IAM credentials; Waltail does not assume roles.
secret_access_keySecret access keyYesStored encrypted, never shown again.
endpointCustom endpointOptionalOverrides the AWS endpoint for VPC endpoints or LocalStack.

Every sink also has two tuning settings: batch size (messages per request, default 100) and rate limit (messages per second, default unlimited). Changes to one row are never in flight twice at once.

Example

What Amazon EventBridge receives:

{
  "source": "waltail",
  "detail-type": "update",
  "detail": {
    "op": "update",
    "table": "public.orders",
    "data": { "id": 42, "status": "shipped", "total": 19.99 },
    "old":  { "id": 42, "status": "paid",    "total": 19.99 },
    "seq": 137,
    "idempotency_key": "9f1c3d2e-6b4a-4c7e-9d0f-2a1b3c4d5e6f",
    "commit_lsn": "0/1A2B3C8"
  }
}

Message format reference →

Questions

How do I match only inserts on one table?

Rule pattern: {"source":["waltail"],"detail-type":["insert"],"detail":{"table":["public.orders"]}}.

Which permissions are needed?

events:PutEvents on the bus and events:DescribeEventBus for the connection check.

Related

Amazon SNS

Fan-out to many subscribers

Amazon SQS

Standard and FIFO queues

Webhooks

Any HTTPS endpoint

Use cases: Webhooks for your database · Cache invalidation · Search index sync · Event-driven services · Audit log and archive.

Start streaming to Amazon EventBridge.