How to transfer expired DynamoDB items to S3 with least operational overhead?

A developer is creating an application that must transfer expired items from Amazon DynamoDB to Amazon S3. The developer sets up the DynamoDB table to automatically delete items after a specific TTL. The application must process the items in DynamoDB and then must store the expired items in Amazon S3. The entire process, including item processing and storage in Amazon S3, will take 5 minutes. Which solution will meet these requirements with the LEAST operational overhead?

  1. Configure DynamoDB Accelerator (DAX) to query for expired items based on the TTL. Save the results to Amazon S3.
  2. 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. Source Reference Answer
  3. Deploy a custom application on an Amazon Elastic Container Service (Amazon ECS) cluster on Amazon EC2 instances. Program the custom application to process the items and to store the expired items in Amazon S3.
  4. Create an Amazon EventBridge rule to invoke an AWS Lambda function. Program the Lambda function to process the items and to store the expired items in Amazon S3.

Community Votes

B
75%
A
25%

75% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

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.

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.

Community Discussion (7 comments)

0bdf3af 👍 1 Selected: B
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/time-to-live-ttl-streams.html
7368e4a 👍 4 Selected: B
B looks good to me
Saurabh04 👍 2
Correct answer is B
lpennington 👍 1
B is correct
piipo 👍 1 Selected: B
B is best
catoteja 👍 3 Selected: B
It's B
Mo_1981 👍 3 Selected: A
Answer is B

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

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.
As community members confirmed, this is a textbook event-driven pattern on AWS. One user even cited the official documentation on TTL and Streams integration.

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

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.

Related Analysis

Practice All DVA-C02 Questions

Access 100 questions with complete answers and detailed explanations.

View Full DVA-C02 Practice Test →

← Back to DVA-C02 Study Guide