AWS Certified Solutions Architect – Associate (SAA-C03) — Question 389
A meteorological startup company has a custom web application to sell weather data to its users online. The company uses Amazon DynamoDB to store its data and wants to build a new service that sends an alert to the managers of four internal teams every time a new weather event is recorded. The company does not want this new service to affect the performance of the current application.
What should a solutions architect do to meet these requirements with the LEAST amount of operational overhead?
Answer options
- A. Use DynamoDB transactions to write new event data to the table. Configure the transactions to notify internal teams.
- B. Have the current application publish a message to four Amazon Simple Notification Service (Amazon SNS) topics. Have each team subscribe to one topic.
- C. Enable Amazon DynamoDB Streams on the table. Use triggers to write to a single Amazon Simple Notification Service (Amazon SNS) topic to which the teams can subscribe.
- D. Add a custom attribute to each record to flag new items. Write a cron job that scans the table every minute for items that are new and notifies an Amazon Simple Queue Service (Amazon SQS) queue to which the teams can subscribe.
Correct answer: C
Explanation
Enabling Amazon DynamoDB Streams allows the application to capture changes asynchronously without degrading database performance. Using a trigger to publish these stream events to an Amazon SNS topic provides an efficient, low-overhead fan-out mechanism to alert all four teams. Other options either require modifying the core application code, introduce performance-intensive table scans, or do not natively support the required notification workflow.