DOP-C02 Question 271
Select 2A media company has a requirement to process image files uploaded to an Amazon S3 bucket. The processing workflow involves triggering a series of Lambda functions to resize the images, tag metadata, and store the processed versions in a different S3 bucket. The company wants to ensure the design is event-driven, asynchronous, and scalable. Which combination of services and configurations should you use to meet this requirement?
- A
Configure S3 Event Notifications to invoke an Amazon SQS queue, which triggers each Lambda function in sequence.
- B
Configure S3 Event Notifications to directly invoke multiple Lambda functions for parallel processing.
- C
Use Amazon EventBridge to route S3 upload events to trigger the appropriate Lambda functions.
- D
Use Amazon SNS to fan out S3 upload events to multiple Lambda subscriptions for parallel processing.
- E
Use Step Functions to orchestrate the workflow, with each Lambda function as a step.
Show answer and explanation
Correct answers: B, D
Explanation
The correct approach to building an event-driven, asynchronous, and scalable design is to leverage services like S3 Event Notifications and Amazon SNS. S3 Event Notifications can directly invoke multiple Lambda functions for parallel processing, while SNS can fan out the events to multiple subscribers (e.g., Lambda functions). Both options ensure the system scales efficiently and processes events asynchronously without introducing bottlenecks or delays.
- A. Incorrect.
This option is incorrect because triggering Lambda functions sequentially via SQS is not asynchronous or event-driven. This approach introduces unnecessary latency and is better suited for ordered processing rather than parallel scalability.
- B. Correct.
This option is correct because configuring S3 Event Notifications to directly invoke multiple Lambda functions allows parallel, asynchronous processing, ensuring scalable event-driven design.
- C. Incorrect.
This option is incorrect because while EventBridge can route events, it is not ideal for directly handling S3 events in this scenario. S3 Event Notifications is more suited for this use case.
- D. Correct.
This option is correct because using Amazon SNS to fan out events allows for parallel invocation of multiple Lambda functions, aligning with the asynchronous and event-driven requirements.
- E. Incorrect.
This option is incorrect because Step Functions are designed for orchestrating workflows, but they are not inherently asynchronous or scalable in the same way as directly invoking multiple Lambda functions or using SNS.