Question: How to track changes to items in DynamoDB?

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:
- Enable the stream on the table and record its ARN.
- Give the function's execution role permission to read that stream.
- Create an event source mapping with an appropriate starting position.
- Process records idempotently, configure partial-batch failure handling and monitor iterator age.
- 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.
Other Common DynamoDB FAQ (with Answers)
- How do you store a graph in DynamoDB?
- Can DynamoDB store documents?
- How to import data from S3 to DynamoDB?
- Is a DynamoDB table Region-specific?
- How do you create an index in DynamoDB?
- Is DynamoDB HIPAA compliant?
- Can you force-delete a DynamoDB table?
- Is DynamoDB PaaS or SaaS?
- Will I be charged for an inactive DynamoDB table?
- Can Amazon Data Firehose write to DynamoDB?
- Can Django use DynamoDB?
- Does DynamoDB have read replicas?
- Which programming language works best with DynamoDB?
- How do you access DynamoDB from an Android app?
- Can DynamoDB have duplicates?
Dynobase is a Professional GUI Client for DynamoDB
Start your 7-day free trial today
Product Features
DynamoDB Tools
- SSH GUI Client
- Chat With Cloud
- MongoDB GUI Client
- AWS Cost Monitoring
- DynamoDB Query Builder
- DynamoDB Code Examples
- DynamoDB Node.js Queries
- DynamoDB JSON Converter
- DynamoDB UUID Generator
- DynamoDB Local Admin GUI
- DynamoDB Pricing Calculator
- DynamoDB Single-Table Design
- Best DynamoDB GUI Clients
- Dynobase vs DynoTable