S3 Event Notifications with Lambda for Metadata Extraction

SAA-C03 By islever Editorial Last updated

Short answer

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

Question

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?
  1. Configure AWS CloudTrail trails to log S3 API calls. Use AWS AppSync to process the files.
  2. Configure an object-created event notification within the S3 bucket to invoke an AWS Lambda function to process the files. Correct Answer
  3. Configure Amazon Kinesis Data Streams to process and send data to Amazon S3. Invoke an AWS Lambda function to process the files.
  4. 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.

Key Takeaways

The question tests the ability to trigger serverless compute from object storage events; the trap is choosing streaming services like Kinesis or AppSync for simple file processing tasks.

This page explains how to design a cost-effective architecture for processing S3 uploads using event notifications and AWS Lambda, which is the correct answer (B) for this scenario.

Common mistake: Option D (SNS) is chosen by some because it can notify listeners, but SNS does not directly invoke Lambda functions as efficiently or cost-effectively as native S3 event notifications for this specific use case.

Expert Analysis

Why the Answer Is Correct

Option B is the correct answer because Amazon S3 supports object-created event notifications that can directly invoke an AWS Lambda function. This creates a fully serverless, event-driven architecture that is highly cost-effective since you only pay for the processing time (less than 5 seconds per file). It handles variable concurrency naturally without managing infrastructure.

Why the Other Options Are Wrong

Option A is incorrect because CloudTrail is for auditing API calls, not processing files, and AppSync is for real-time APIs, not batch file processing. Option C is incorrect because Amazon Kinesis Data Streams is designed for continuous high-throughput data streaming, which is overkill and more expensive for sporadic file uploads. Option D is less optimal because while SNS can trigger Lambda, S3 native event notifications are the direct, standard, and most integrated way to process objects upon upload, reducing complexity and potential latency compared to an extra notification layer.

Community Comment Notes

Community consensus strongly favors Option B. As user hajra313 noted, "option b bcz option c is WS AppSync is not the most appropriate solution for file processing." User alawada pointed out that Kinesis is for streaming, making it unsuitable here. Most users agree that native S3-Lambda integration is the most cost-effective and straightforward approach.

Official Reference

https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html

This link opens the official vendor documentation in a new tab.

Exam Strategy

Always look for the most direct integration between AWS services. When S3 needs to trigger processing, Lambda is the default choice via S3 Event Notifications. Avoid complex streaming services unless the data is continuous and high-volume.

Frequently Asked Questions

Why not use SNS to trigger Lambda?

While SNS can trigger Lambda, S3 native event notifications are the direct, standard integration for object creation events, offering better cost-efficiency and simplicity.

When would Kinesis be appropriate?

Kinesis is appropriate for continuous, high-throughput data streams requiring real-time analytics, not for sporadic file uploads processed in batches.

More SAA-C03 FAQ →

Community Votes

B
100%

100% of anonymous learners picked answer B. Votes are pick records left by other test-takers — they are not the verified answer.

Discussion 8 contributions

Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.

From public community threads 8

  1. hajra313 👍 5
    option b bcz option c is WS AppSync is not the most appropriate solution for file processing. option d While Amazon Simple Notification Service (SNS) can be used to trigger actions based on S3 events, it's not directly involved in processing files .option c :Kinesis is typically used for real-time data streaming and analytics, which may not be needed for simple file processing tasks such as extracting metadata.
  2. mestule 👍 5 Answered B
    B seems to be make most sense to me.
  3. alawada 👍 3 Answered B
    The problem with C is how it sends the data to S3, if it was Firehose it would make sense. I waka for B.
  4. Lin878 👍 3 Answered B
    https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html
  5. MattBJ 👍 3 Answered B
    B is correct. The most cost effective option.
Show 3 more comments
  1. jaswantn 👍 2
    option B
  2. kempes 👍 2
    Option D
  3. Scheldon 👍 2 Answered B
    AnswerB

Reader comments & corrections

No reader corrections yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Practice All SAA-C03 Questions

Access 120 questions with complete answers and detailed explanations.

View Full SAA-C03 Practice Test →

← Back to SAA-C03 Study Guide