How to Trigger a Lambda CSV-to-Parquet Conversion on S3 Upload?
Short answer
A Configure an s3:ObjectCreated:* S3 event notification with a .csv suffix filter that invokes the Lambda function directly.
Question
Key Takeaways
The exam tests whether you can map 'a user uploads a .csv file' to the right S3 notification event type and wire it straight to Lambda — the trap is inserting an unnecessary SNS hop or picking an event type that never fires on object creation.
An S3 event notification with the s3:ObjectCreated:* event type plus a .csv suffix filter can invoke a Lambda function directly, which is the lowest-operational-overhead way to run a CSV-to-Parquet conversion whenever a file lands in the bucket. This page confirms why option A is correct and why routing the same event through Amazon SNS or using a tag-based/invalid event type does not satisfy the requirement.
Common mistake: Adding an Amazon SNS topic between S3 and Lambda (option D), because it looks like a more decoupled, production-grade design — but it adds another resource, subscription and IAM permissions with zero functional benefit, which directly contradicts the 'LEAST operational overhead' requirement.
Expert Analysis
Why the Answer Is Correct
Option A pairs the only event type that matches 'a user uploads a.csv file' — s3:ObjectCreated:* — with a suffix filter for.csv, and names the Lambda function ARN directly as the notification destination. S3 therefore invokes the function itself, so the whole trigger is a single service configuration with no intermediate topic, subscription or extra IAM policy to maintain. That is exactly the 'least operational overhead' path, and the CSV-to-Parquet conversion runs only on newly created.csv objects, as required. Nothing else in the option list achieves the upload trigger with fewer moving parts.
Why the Other Options Are Wrong
Option B keys off s3:ObjectTagging: — tagging events are unrelated to uploads, so a.csv object uploaded without a tag would never invoke the function. Option C uses s3:, which is not a supported S3 event notification type; S3 only exposes the s3:ObjectCreated:, ObjectRemoved:, ObjectRestore:, Replication:, Lifecycle:, IntelligentTiering: and ObjectTagging:* families, so that notification cannot even be created. Option D is functionally valid but inserts an Amazon SNS topic and an SNS subscription between S3 and Lambda, adding a resource to manage, extra permissions to grant and an additional hop of latency for no gain.
Community Comment Notes
As milofficial notes, the requirement that the function run 'only if a user uploads data to an Amazon S3 bucket' excludes B and C, and — in their words — "You don't need SNS for S3 event notifications so A is easier." Adrifersilva makes the same point, observing that s3:ObjectCreated:* "triggers the Lambda function only when objects are created in the bucket," which is precisely the trigger the scenario asks for. DevoteamAnalytix points to the AWS Lambda developer guide's S3 integration page, which states that S3 can send an event to a Lambda function when an object is created or deleted. pypelyncar adds that D is a candidate only until you realize the SNS operation is "not needed," and k350Secops describes the direct S3-to-Lambda notification as the "least overhead way." The community reasoning aligns with the AWS documentation and with the official answer key.
Official Reference
https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html
This link opens the official vendor documentation in a new tab.
Exam Strategy
For 'LEAST operational overhead' questions, count the managed resources each option introduces — here A needs one S3 notification, while D needs an S3 notification plus an SNS topic plus a subscription. Also memorize that S3 event types are namespaced families (ObjectCreated, ObjectRemoved, ObjectTagging, and so on); a bare s3:* is never a valid choice.
Frequently Asked Questions
Why is the Amazon SNS topic in option D unnecessary for this S3-to-Lambda trigger?
Is s3:* a valid S3 event notification type?
Community Votes
100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.
Discussion 7 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 7
-
milofficial 👍 13 Answered A"only if a user uploads data to an Amazon S3 bucket" that excludes B & C because we need s3:ObjectCreated:* You don't need SNS for S3 event notifications so A is easier.
-
TonyStark0122 👍 8A. Create an S3 event notification that has an event type of s3:ObjectCreated:. Use a filter rule to generate notifications only when the suffix includes .csv. Set the Amazon Resource Name (ARN) of the Lambda function as the destination for the event notification. Explanation: This solution directly triggers the Lambda function only when a .csv file is uploaded to the S3 bucket, minimizing unnecessary invocations of the Lambda function. It uses a specific event type (s3:ObjectCreated:) and a filter rule to ensure that the Lambda function is invoked only for relevant events. Additionally, it directly invokes the Lambda function without the need for additional services like Amazon SNS, reducing operational overhead.
-
DevoteamAnalytix 👍 2 Answered A"You can use Lambda to process event notifications from Amazon Simple Storage Service. Amazon S3 can send an event to a Lambda function when an object is created or deleted" https://docs.aws.amazon.com/lambda/latest/dg/with-s3.html
-
pypelyncar 👍 1 Answered Asince is the least operational, the D its a candidate, however add a SNS operation, which in this case is not needed. so A includes S3 and triggering towards the lambda function. 2 services.
-
Adrifersilva 👍 1 Answered As3:ObjectCreated: instead of s3:: triggers the Lambda function only when objects are created in the bucket.
Show 2 more comments
-
k350Secops 👍 1 Answered AS3 event notification to lamba for file prefix with.csv is the least overhead way
-
theloseralreadytaken 👍 1 Answered AA is the answer for least operational. C also correct!
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All DEA-C01 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DEA-C01 Practice Test →