When an S3 object lands in the permits/incoming/ prefix, a rule should start a validation workflow without polling the bucket. Which service pattern should developers implement?
Select an answer to reveal the explanation.
Short Explanation
Do not send a librarian to walk the shelves every minute looking for a new folder. When the object lands under permits/incoming/, fire an EventBridge (or S3) event straight into the validation workflow. No polling required.
Full Explanation
When an S3 object lands in the permits/incoming/ prefix, starting validation without polling means implementing an EventBridge rule (or S3 event notification routed appropriately) that matches object-created events and invokes the validation target such as Step Functions or Lambda. Object creation becomes the signal; automation runs immediately; workers do not list the entire bucket looking for novelty. That event pattern is foundational for municipal document intake pipelines.
A Lambda cron that lists the entire bucket every minute is polling: costly, laggy, and race-prone. An RDS trigger on a table that does not store the object keys cannot see S3 creations. Manual operator approval in the console before any automation may run rejects the “without polling / automatic start” goal for routine validation (human approval can still be a later workflow state if policy requires it).
Exam caveat: S3 can notify EventBridge or classic event notifications to Lambda/SQS/SNS. Ensure the Lambda resource policy allows the invoking service. Filter on prefix/suffix so unrelated keys do not trigger validation.
Operational check: enable notifications for Object Created on permits/incoming/; target the validation state machine or function; verify a test put starts work without a cron; and alarm on failed invocations so stuck intake is visible.