You are designing an event-driven architecture on OCI where events from Object Storage bucket creations need to trigger an OCI Function. However, you require guaranteed at-least-once delivery, event filtering based on object name prefixes, and a dead-letter queue mechanism for failed function invocations. Which OCI service combination meets these requirements?
Trap 1: OCI API Gateway configured with a mock backend routing to OCI…
API Gateway mock backends return canned responses and never consume Object Storage events, so no delivery, prefix filtering or dead-letter queue exists. It is tempting because API Gateway does front Functions, but for synchronous HTTP invocation, not event-driven bucket triggers.
Trap 2: OCI Notifications Service publishing directly to an OCI Object…
Notifications Service publishes messages to topics and subscriptions, not into Object Storage buckets, and cannot invoke Functions with at-least-once delivery or a dead-letter queue. It is tempting because it is a genuine OCI pub/sub service used for fan-out alerting.
Trap 3: OCI Events Service rule triggering OCI Functions directly without…
Direct Events-to-Functions rules provide at-least-once delivery but no dead-letter queue for failed invocations, and prefix filtering is limited. It is tempting because it is the simplest native event-driven pattern and works when failures need no retry capture.
- A
OCI API Gateway configured with a mock backend routing to OCI Functions.
Why it fails: API Gateway mock backends return canned responses and never consume Object Storage events, so no delivery, prefix filtering or dead-letter queue exists. It is tempting because API Gateway does front Functions, but for synchronous HTTP invocation, not event-driven bucket triggers.
- B
OCI Notifications Service publishing directly to an OCI Object Storage bucket.
Why it fails: Notifications Service publishes messages to topics and subscriptions, not into Object Storage buckets, and cannot invoke Functions with at-least-once delivery or a dead-letter queue. It is tempting because it is a genuine OCI pub/sub service used for fan-out alerting.
- C
OCI Events Service rule triggering OCI Functions directly without any intermediate queue.
Why it fails: Direct Events-to-Functions rules provide at-least-once delivery but no dead-letter queue for failed invocations, and prefix filtering is limited. It is tempting because it is the simplest native event-driven pattern and works when failures need no retry capture.
- D
OCI Events Service rule routing to an OCI Stream, which then invokes OCI Functions with a custom consumer group and a configured DLQ.
OCI Events rules cannot natively filter object-name prefixes or guarantee at-least-once delivery with DLQ. Routing through OCI Streaming provides durable, replayable at-least-once consumption, prefix filtering at the rule, and a dead-letter queue for failed Function invocations.