AWS Certified Developer – Associate (DVA-C02) — Question 20
A company receives food orders from multiple partners. The company has a microservices application that uses Amazon API Gateway APIs with AWS Lambda integration. Each partner sends orders by calling a customized API that is exposed through API Gateway. The API call invokes a shared Lambda function to process the orders.
Partners need to be notified after the Lambda function processes the orders. Each partner must receive updates for only the partner's own orders. The company wants to add new partners in the future with the fewest code changes possible.
Which solution will meet these requirements in the MOST scalable way?
Answer options
- A. Create a different Amazon Simple Notification Service (Amazon SNS) topic for each partner. Configure the Lambda function to publish messages for each partner to the partner's SNS topic.
- B. Create a different Lambda function for each partner. Configure the Lambda function to notify each partner's service endpoint directly.
- C. Create an Amazon Simple Notification Service (Amazon SNS) topic. Configure the Lambda function to publish messages with specific attributes to the SNS topic. Subscribe each partner to the SNS topic. Apply the appropriate filter policy to the topic subscriptions.
- D. Create one Amazon Simple Notification Service (Amazon SNS) topic. Subscribe all partners to the SNS topic.
Correct answer: C
Explanation
Option C is the best solution because it allows for a single SNS topic with filtering capabilities, enabling each partner to receive only their relevant updates without needing multiple topics or Lambda functions. Options A and B create unnecessary complexity and maintenance overhead with separate topics or functions for each partner. Option D does not provide the necessary filtering, so all partners would receive every notification, which is not aligned with the requirement of notifying partners about only their own orders.