Question 500:
Your team is working on an event-driven application. The frontend needs to collect the customers’ requests and publish the events to an AWS service. This AWS service should then deliver the events to several SQS queues in parallel. Each queue and the following pipeline have their own purposes such as event storage, event search or event replay. Each pipeline should process only a subset of events so a filter mechanism is required. How would you design the AWS service in the easiest way?
Answer options:
A.Publish the events to an SNS topic. Subscribe to the topic for each SQS queue. Create a Lambda function in each pipeline to pull the messages from the queue and filter the messages. B.Publish the events to an SNS topic. Create a subscription for each SQS queue and set up the subscription filter policy to filter the required events. C.Publish the events to an SQS queue. Create a Lambda function to get the messages from the queue, filter the messages and then forward them to other SQS queues for processing. D.Publish the events to an Amazon EventBridge event bus. Create a Lambda function to get the messages from the event bus, filter the messages and then forward them to other SQS queues in parallel.