dynobase-icon
Dynobase

Question: How to track changes to items in DynamoDB?

Rafal Wilinski

Answered by Rafal Wilinski

Last updated: October 23rd, 2026

Answer

Enable DynamoDB Streams to capture item inserts, updates and deletes, then consume the records with Lambda, EventBridge Pipes or a Streams client. The stream keeps each change for 24 hours; this retention period is not configurable.

Choose the view type for your use case. KEYS_ONLY records keys, NEW_IMAGE records the item after the change, OLD_IMAGE records its previous state, and NEW_AND_OLD_IMAGES provides both when available.

For a Lambda workflow:

  1. Enable the stream on the table and record its ARN.
  2. Give the function's execution role permission to read that stream.
  3. Create an event source mapping with an appropriate starting position.
  4. Process records idempotently, configure partial-batch failure handling and monitor iterator age.
  5. Write changes to durable storage if you need history beyond stream retention.

Changes are ordered per item, not across the whole table. Lambda can deliver records more than once, and rewriting an unchanged item does not create a change record. Turning a stream off and on produces a new ARN that consumers must use.

For who called an API, use CloudTrail data events; Streams primarily describe data changes. For recovery, use backups or PITR rather than treating the short-lived stream as a backup. See Streams and Lambda triggers.

Source: AWS DynamoDB Streams.

Dynobase is a Professional GUI Client for DynamoDB

Start your 7-day free trial today

Product Features

Download
/
Changelog
/
Pricing
/
Member Portal
/
Privacy
/
EULA
/
Twitter
© 2026 Dynobase
+
Still using AWS DynamoDB Console?
Try Dynobase to accelerate your DynamoDB workflow. Start your 7-day free trial today.