Q50 — AWS SAA-C03 Ch.10

Question 50 of 100 | ← Chapter 10

Q650. A company hosts an application used to upload files to an Amazon S3 bucket. Once uploaded, the files are processed to extract metadata, which takes less than 5 seconds. The volume and frequency of the uploads varies from a few files each hour to hundreds of concurrent uploads. The company has asked a solutions architect to design a cost-effective architecture that will meet these requirements.What should the solutions architect recommend?

Correct Answer: B. Configure an object-created event notification within the S3 bucket to invoke an AWS Lambda function to process the files.

Explanation

To design a cost-effective architecture that meets the requirements of uploading files to an Amazon S3 bucket and processing them to extract metadata, the solution that would best fit these criteria is:B. Configure an object-created event notification within the S3 bucket to invoke an AWS Lambda function to process the files.Here's the rationale behind this solution:Option B: Configure an object-created event notification within the S3 bucket to invoke an AWS Lambda function to process the files.By configuring an object-created event notification in the S3 bucket, you can trigger an AWS Lambda function whenever a new object (file) is uploaded. The Lambda function can then process the file to extract metadata. This solution is cost-effective because you only pay for the execution time of the Lambda function, and it scales automatically to handle varying volumes and frequencies of uploads.Option A: Configure AWS CloudTrail trails to log S3 API calls. Use AWS AppSync to process the files. AWS CloudTrail trails are primarily used for auditing and logging API activity, not for processing file uploads or extracting metadata. AWS AppSync is a service for building GraphQL APIs, and it is not the most suitable service for processing file uploads and metadata extraction. Option C: Configure Amazon Kinesis Data Streams to process and send data to Amazon S3. Invoke an AWS Lambda function to process the files.Amazon Kinesis Data Streams is a real-time streaming service, which may be an overcomplication for the given requirement of processing uploaded files and extracting metadata. It introduces additional configuration and management overhead. While it's possible to use Kinesis Data Streams and an AWS Lambda function to process the files, it is not the most cost-effective or straightforward solution.Option D: Configure an Amazon Simple Notification Service (Amazon SNS) topic to process the files uploaded to Amazon S3. Invoke an AWS Lambda function to process the files. Amazon SNS is a messaging service used for pub/sub (publish/subscribe) messaging patterns. Although it's possible to configure an SNS topic to receive notifications about uploaded files, it may not be the most suitable service for processing and extracting metadata from the files. It introduces additional complexity and may not scale efficiently for varying volumes and frequencies of uploads.Therefore, the most suitable solution that meets the requirements and is cost-effective is to configure an object-created event notification within the S3 bucket to invoke an AWS Lambda function to process the files (Option B). This solution leverages the simplicity and scalability of AWS Lambda to process uploaded files and extract metadata, ensuring cost-effectiveness and flexibility for varying volumes and frequencies of uploads.