Q78 — AWS SAA-C03 Ch.10
Question 78 of 100 | ← Chapter 10
Q678. A social media company is creating a rewards program website for its users. The company gives users points when users create and upload videos to the website. Users redeem their points for gifts or discounts from the company's affiliated partners. A unique ID identifies users. The partners refer to this ID to verify user eligibility for rewards.The partners want to receive notification of user IDs through an HTTP endpoint when the company gives users points. Hundreds of vendors are interested in becoming affiliated partners every day. The company wants to design an architecture that gives the website the ability to add partners rapidly in a scalable way. Which solution will meet these requirements with the LEAST implementation effort?
- A. Create an Amazon Timestream database to keep a list of affiliated partners. Implement an AWS Lambda function to read the list. Configure the Lambda function to send user IDs to each partner when the company gives users points
- B. Create an Amazon Simple Notification Service (Amazon SNS) topic. Choose an endpoint protocol.Subscribe the partners to the topic. Publish user IDs to the topic when the company gives users points ✓
- C. Create an AWS Step Functions state machine. Create a task for every affiliated partner. Invoke the state machine with user IDs as input when the company gives users points
- D. Create a data stream in Amazon Kinesis Data Streams. Implement producer and consumer applications. Store a list of affiliated partners in the data stream. Send user IDs when the company gives users points
Correct Answer: B. Create an Amazon Simple Notification Service (Amazon SNS) topic. Choose an endpoint protocol.Subscribe the partners to the topic. Publish user IDs to the topic when the company gives users points
Explanation
To meet the requirements of rapidly adding partners in a scalable way and notifying them of user IDs when the company gives users points on a rewards program website, the solution with the least implementation effort would be option B: Create an Amazon Simple Notification Service (Amazon SNS) topic. Choose an endpoint protocol. Subscribe the partners to the topic. Publish user IDs to the topic when the company gives users points.Amazon SNS is a fully managed pub/sub messaging service that enables the publishing and subscribing of messages to topics. It simplifies the process of sending notifications to multiple recipients across different protocols and delivery mechanisms.Here's how the solution works:\1. Create an SNS topic: The company would create an SNS topic, which will serve as a central hub for sending notifications to the partners. The topic can be easily created through the AWS Management Console or programmatically via the AWS SDKs or APIs.\2. Choose an endpoint protocol: The company can choose the appropriate endpoint protocol for the partners to receive the notifications. SNS supports various protocols such as HTTP, HTTPS, email, SMS, and more. In this case, an HTTP endpoint would be suitable for sending user IDs.\3. Subscribe partners to the topic: The partners interested in receiving user IDs would subscribe to the SNS topic. They can be added dynamically by subscribing to the topic through the AWS Management Console, an SDK, or an API. Each partner specifies their preferred endpoint protocol for receiving the notifications.\4. Publish user IDs to the topic: When the company gives users points, the website can publish the relevant user IDs to the SNS topic. This can be done using the AWS SDKs or APIs. SNS will then deliver the notifications to all subscribed partners, forwarding the user IDs to their specified endpoints.By using Amazon SNS, the company can quickly add partners to the system without the need for complex setup or management. Partners can easily subscribe to the SNS topic and receive user IDs via their preferred endpoint protocol. This solution offers scalability, flexibility, and simplicity in notifying partners.The other options are not the most suitable for meeting the requirements with the least implementation effort:A. Creating an Amazon Timestream database and implementing an AWS Lambda function to read the list of affiliated partners would require additional setup and management effort. It also does not provide a direct mechanism for notifying partners.C. Creating an AWS Step Functions state machine and creating a task for every affiliated partner would involve more implementation effort and complexity compared to the other options. It would require managing multiple tasks and their execution flow.D. Creating a data stream in Amazon Kinesis Data Streams, implementing producer and consumer applications, and storing a list of affiliated partners in the data stream would introduce unnecessary complexity and overhead. It is not the most straightforward solution for achieving the desired outcome.Therefore, the correct answer is B. Create an Amazon Simple Notification Service (Amazon SNS) topic. Choose an endpoint protocol. Subscribe the partners to the topic. Publish user IDs to the topic when the company gives users points.