Which additional steps should the solutions architect take to meet the requirements?
Create an AWS Step Functions workflow to run the Lambda functions in parallel. Create another Step Functions workflow that retrieves a list of media items and executes a metadata extraction workflow for each one.
Create an AWS Batch compute environment for each Lambda function. Configure an AWS Batch job queue for the compute environment. Create a Lambda function to retrieve a list of media items and write each item to the job queue.
Create an AWS Step Functions workflow to run the Lambda functions in parallel. Create a Lambda function to retrieve a list of media items and write each item to an Amazon SQS queue. Configure the SQS queue as an input to the Step Functions workflow.
Create a Lambda function to retrieve a list of media items and write each item to an Amazon SQS queue. Subscribe the metadata extraction Lambda functions to the SQS queue with a large batch size.
Explanations:
Using AWS Step Functions to run the Lambda functions in parallel allows for concurrent metadata extraction, reducing overall time. Each media item can be processed in parallel, improving the speed of the metadata extraction process.
AWS Batch is more suited for running batch processing jobs with a large volume of data and isn’t needed for Lambda-based workflows. Lambda functions already scale automatically, so a Batch job queue isn’t a fit here.
While Step Functions can manage parallel execution, an SQS queue isn’t necessary in this case. The workflow can directly interact with Lambda functions and execute them in parallel, so using SQS adds unnecessary complexity.
While using SQS with Lambda functions is a good practice, this approach may not achieve the desired performance improvement. Using a large batch size with SQS is not ideal when reducing latency and speeding up metadata extraction in parallel tasks.