AWS Certified Developer – Associate — Question 365
A developer maintains a critical business application that uses Amazon DynamoDB as the primary data store. The DynamoDB table contains millions of documents and receives 30-60 requests each minute. The developer needs to perform processing in near-real time on the documents when they are added or updated in the DynamoDB table.
How can the developer implement this feature with the LEAST amount of change to the existing application code?
Answer options
- A. Set up a cron job on an Amazon EC2 instance. Run a script every hour to query the table for changes and process the documents.
- B. Enable a DynamoDB stream on the table. Invoke an AWS Lambda function to process the documents.
- C. Update the application to send a PutEvents request to Amazon EventBridge (Amazon CloudWatch Events). Create an EventBridge (CloudWatch Events) rule to invoke an AWS Lambda function to process the documents.
- D. Update the application to synchronously process the documents directly after the DynamoDB write.
Correct answer: B
Explanation
Enabling a DynamoDB stream allows the system to capture item-level modifications automatically without requiring any changes to the application's database write code. AWS Lambda can then consume this stream in near-real time, providing an efficient and serverless integration. Other options either require significant modifications to the application code (such as synchronous processing or manual EventBridge integration) or fail to meet the near-real-time requirement (such as the hourly EC2 cron job).