Your application uses Azure Event Grid to deliver events to an Azure Function webhook. Due to a downstream database outage, the Azure Function returns HTTP 500 errors. How does Event Grid handle event delivery when the endpoint fails?
Event Grid treats non-2xx responses as delivery failures and retries with exponential backoff, extending up to 24 hours before dead-lettering. This satisfies the scenario by absorbing the transient database outage without dropping events or requiring custom retry logic in the function.
Why this answer
Azure Event Grid guarantees at-least-once delivery by retrying failed event deliveries using an exponential backoff policy. When a webhook returns HTTP 500, Event Grid treats it as a retryable failure and continues retrying for up to 24 hours, after which the event is either dropped or sent to a dead-letter destination if configured. This built-in retry mechanism ensures transient downstream failures do not immediately lose events.
Exam trap
AI-200 often tests the misconception that Event Grid drops events on the first failure or that it automatically routes to Service Bus, when the actual behavior is exponential backoff retries for up to 24 hours with optional dead-lettering.
How to eliminate wrong answers
Option A is wrong because Event Grid does not stop the event subscription on endpoint failure; it continues retrying and only disables the subscription after prolonged failure or if the endpoint is deemed invalid (e.g., 404 or 401). Option B is wrong because Event Grid does not discard events on the first 500 error; it retries with backoff, and only drops after the 24-hour retry window expires. Option C is wrong because Event Grid does not automatically migrate events to Service Bus; dead-lettering to a Storage Blob container is the supported mechanism, and it must be explicitly configured.