An application invokes an AWS Lambda function asynchronously. The developer wants to capture messages that caused failed Lambda invocations so the application can retry them later. Which approach accomplishes this with the least operational overhead?
Choose an answer
Tap an option to check your answer.
Correct answer: Configure a dead-letter queue for failed asynchronous Lambda invocations and make that dead-letter queue an event source for the Lambda function..
Why this is the answer
Configuring a dead-letter queue (DLQ) for asynchronous Lambda invocations is the most efficient solution. When a Lambda function fails after all retries, the event is sent to the specified DLQ (either SQS or SNS). This automatically captures failed messages without additional code or complex filtering. Making the DLQ an event source for the Lambda function allows for easy re-processing of these messages, providing a built-in retry mechanism with minimal operational overhead. Using CloudWatch Logs requires custom parsing and re-invocation logic, increasing complexity. EventBridge forwarding to SNS to re-trigger Lambda is less direct for failed asynchronous invocations, as EventBridge primarily handles event routing, not automatic DLQ functionality for Lambda. Sending all events to SQS initially adds an unnecessary layer if the primary goal is handling failed asynchronous Lambda invocations specifically.
Pass your exam — without the endless answer hunt
Get every verified question and explanation for this exam in one place, and save hours of prep. 1,000+ certifications · 20+ languages · free to start.
Pass your exam faster → No card needed