A building-permits office wants each new scan that lands in a bucket to be converted by serverless code. Which Events pattern implements that event-driven conversion?
Select an answer to reveal the explanation.
Short Explanation
Turn on object events, filter create-object (scoped to the bucket), and action a Function that reads the object—typically with a resource principal—and writes a result. That is the classic event-driven serverless pattern, not a cron on OKE or a Streaming detour.
Full Explanation
The building-permits office implements event-driven conversion of each new scan by enabling object events on the bucket, configuring an Events rule that filters create-object (narrowed to that bucket via attributes), and setting the action to an Oracle Function that reads the object—typically with a resource principal—and writes the converted result. That pattern keeps Object Storage as the landing zone, Events as the selective trigger, and Functions as the serverless converter without polling. Scheduling a cron Job on OKE that lists the bucket every minute and skips Events entirely is a polling anti-pattern: it adds always-on compute, race conditions, and lag compared with native emissions. Requiring producers to write the same bytes to Streaming and ignore Object Storage events duplicates storage and abandons the documented Object Storage Events path. Using Notifications alone as both filter and converter without a Function is wrong because Notifications informs subscribers; it does not run conversion logic or read and rewrite objects. Exam caveat: the Function must be allowed to read the source object and write the output destination, and large scans may exceed Function time or memory limits—design for size or fan-out before relying on a single invocation per object. Operational check: enable emit events, deploy the Function with least-privilege policies, upload a sample scan to the filtered bucket, and confirm Function logs show a successful get-object and a written converted artifact.