How to transfer expired DynamoDB items to S3 with least operational overhead?
Short answer
B Configure DynamoDB Streams to invoke an AWS Lambda function. Program the Lambda function to process the items and to store the expired items in Amazon S3.
Question
Key Takeaways
The question tests understanding that DynamoDB TTL deletions generate REMOVE records in DynamoDB Streams, enabling a fully managed, event-driven pipeline with the least operational overhead.
This question tests the ability to react to DynamoDB TTL expirations using DynamoDB Streams and AWS Lambda for serverless, low-overhead processing. Community consensus strongly favors configuring DynamoDB Streams to invoke a Lambda function that processes and archives expired items to Amazon S3.
Common mistake: Candidates often choose Option A (DAX) because they misunderstand DAX as a querying mechanism for TTL, when in reality DAX is an in-memory cache and does not help archive expired items to S3.
Expert Analysis
Understanding DynamoDB TTL and Streams Integration
When DynamoDB Time to Live (TTL) is enabled, items that pass their expiration timestamp are automatically deleted by a background process. Crucially, these deletions generate REMOVE records in DynamoDB Streams, which allows downstream consumers to react to expired items in real time.
Why Option B is Correct
Option B — configuring DynamoDB Streams to invoke an AWS Lambda function — is the correct answer because:
- DynamoDB Streams natively captures TTL-driven deletions as REMOVE events.
- AWS Lambda is a fully managed compute service, meaning zero server provisioning, zero patching, and automatic scaling.
- The 5-minute processing window is well within Lambda's maximum execution time (15 minutes).
- This approach delivers the least operational overhead among all options.
Why the Other Options Are Wrong
- Option A (DAX): DynamoDB Accelerator (DAX) is an in-memory cache designed to reduce read latency. It cannot be "configured to query for expired items based on TTL" in a meaningful way for archival, and it certainly does not push data to S3. This is a distractor.
- Option C (ECS on EC2): Running a custom application on Amazon ECS with EC2 instances requires managing underlying EC2 infrastructure, container orchestration, scaling policies, and patching. This introduces significant operational overhead, directly contradicting the requirement.
- Option D (EventBridge rule): Amazon EventBridge can schedule Lambda invocations, but it does not receive DynamoDB TTL expiration events directly. You would need a custom polling mechanism or a scheduled scan, which is far less efficient and more operationally complex than using DynamoDB Streams.
Key Takeaway
Always pair DynamoDB TTL with DynamoDB Streams + Lambda when you need to react to item expirations. This pattern is serverless, event-driven, and minimizes operational overhead.
Official Reference
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/time-to-live-ttl-streams.html
This link opens the official vendor documentation in a new tab.
Exam Strategy
When the question emphasizes 'least operational overhead,' immediately eliminate options involving managed EC2 instances or custom polling. Favor fully managed, event-driven services like Lambda triggered by native streams.
Community Votes
75% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 7 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 7
-
0bdf3af 👍 1 Answered Bhttps://docs.aws.amazon.com/amazondynamodb/latest/developerguide/time-to-live-ttl-streams.html
-
7368e4a 👍 4 Answered BB looks good to me
-
Mo_1981 👍 3 Answered AAnswer is B
-
catoteja 👍 3 Answered BIt's B
-
Saurabh04 👍 2Correct answer is B
Show 2 more comments
-
lpennington 👍 1B is correct
-
piipo 👍 1 Answered BB is best
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DVA-C02 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DVA-C02 Practice Test →