How to Trigger a Lambda CSV-to-Parquet Conversion on S3 Upload?
A data engineer needs to create an AWS Lambda function that converts the format of data from .csv to Apache Parquet. The Lambda function must run only if a user uploads a .csv file to an Amazon S3 bucket. Which solution will meet these requirements with the LEAST operational overhead?
Community Votes
100% of anonymous learners picked answer A. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
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.
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.
Community Discussion (7 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
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
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?
S3 event notifications can invoke a Lambda function directly by using the function ARN as the destination. Adding SNS only introduces an extra topic, subscription and permissions to manage for no functional gain.
Is s3:* a valid S3 event notification type?
No. S3 supports specific event families such as s3:ObjectCreated: and s3:ObjectRemoved:; s3:* cannot be configured, which is why option C would never trigger the Lambda conversion.
Related Analysis
Practice All DEA-C01 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DEA-C01 Practice Test →