SAA-C03 Practice Question 74: S3 Event Notifications vs Polling
AWS Certified Solutions Architect – Associate (SAA-C03) · Test 8 · question 4 of 10
Partners drop CSV files into an S3 bucket at unpredictable times, a few hundred a day. A fleet of EC2 instances currently runs a ListObjectsV2 call every 30 seconds to find new files, which produces a large bill for list requests and still leaves files waiting up to half a minute before processing starts. The company wants processing to begin as soon as a file lands and wants to stop paying for the polling.
Which design should the architect propose?
Show answer and explanation
Answer:
S3 Event Notifications let a bucket publish a message when specified events occur, including new object created events, to an SNS topic, an SQS queue, a Lambda function or EventBridge. Pointing object-created events at an SQS queue inverts the pattern: nothing lists the bucket any more, so the list request charges disappear, and a message arrives typically within seconds of the upload instead of after the next poll. The queue also buffers arrivals, so a burst of partner uploads queues up rather than overwhelming the workers, and a failed message is redelivered after the visibility timeout.
Option A trades one problem for the other. A longer interval cuts the list charges but makes files wait up to five minutes, and the requirement is for processing to start as soon as a file lands.
Option B moves the polling into Lambda without removing it. The bucket is still listed on a schedule (the same charges, the same up-to-a-minute delay), and the function now has to track which objects it has already seen.
Option D is a reporting feature, not a trigger. S3 Inventory produces a scheduled flat file listing the bucket's contents daily or weekly, which is many hours too late for this workflow.
Reference: Amazon S3 Event Notifications