Does DynamoDB have triggers?

Yes. DynamoDB triggers are built from DynamoDB Streams plus AWS Lambda: the stream captures every item-level change, and a Lambda function subscribed to the stream runs automatically in response. There is no CREATE TRIGGER statement — the trigger code lives in Lambda, outside the database.

How a trigger works

You enable DynamoDB Streams on the table, then associate the stream's ARN with a Lambda function. Every create, update, and delete is captured as a stream record; the Lambda service polls the stream four times per second and invokes your function synchronously with batches of new records. You can also filter events so the function only runs for the changes you care about.

What triggers are used for

The classic uses: sending notifications when a value changes, kicking off workflows, maintaining aggregates and counters, and copying each change to durable storage (like S3) for a permanent audit trail. If the function errors, Lambda retries the batch until it succeeds or the records expire, with configurable retry and batching behavior.

Limits worth knowing

AWS recommends subscribing at most two Lambda functions to one stream — more can cause read throttling. Trigger functions should be short-lived; for heavy processing, hand off to an asynchronous workflow instead of running long logic inline.

Go deeper

Start with the DynamoDB Streams guide for the stream model itself, use the expression builder to craft the writes your triggers react to, and download DynoTable to watch the item changes that feed your stream.

References

Last verified 2026-07-13 against the official AWS documentation linked above.

Work with DynamoDB without the Console

DynoTable is a fast desktop client for DynamoDB — browse tables, run SQL-style queries, and edit items locally.