These questions are independently created for study purposes. They are not official AWS exam questions, actual exam questions, leaked questions, or exam dumps.
SAA-014
You want to be able to investigate and reprocess events that failed in a Lambda function. Which configuration is the most appropriate for storing failed events from asynchronous invocations?
Choices
Explanation and answer
Read the explanation and correct answer (spoiler — try answering first)
Correct answer: A. Configure a dead-letter queue or Lambda Destinations.
Explanation
Failed events from asynchronous Lambda invocations can be sent to SQS, SNS, or EventBridge via a DLQ or Lambda Destinations. This makes investigation and reprocessing easier.
Per-choice explanations
A. Configure a dead-letter queue or Lambda Destinations.
Correct. It can be used as a destination for failed events.
B. Set the CloudFront cache TTL to 0.
Incorrect. CloudFront TTL is unrelated to storing Lambda failure events.
C. Always set the Lambda memory to its maximum value.
Incorrect. Increasing memory affects performance but does not store failed events.
D. Place the Lambda function in a public subnet.
Incorrect. Network placement is unrelated to storing failed events.
Practical Use
For asynchronous Lambda invocations (Event-type invoke), events that fail after the configured number of retries can be routed externally via a Dead Letter Queue (DLQ) or Lambda Destinations. A DLQ is the legacy mechanism that specifies an SQS queue or SNS topic as the destination for failed events. Lambda Destinations extends that model and can deliver both success and failure results to SQS, SNS, EventBridge, or another Lambda function. Failed events include the original payload, error message, and stack trace, making it easier to build downstream investigation and reprocessing pipelines. An alternative is to add try/catch in the Lambda code itself and notify SNS, but it is hard to cover retry control or the Lambda service's internal retries for asynchronous invocations, and delivery guarantees must be implemented in application code. Managed DLQ or Destinations let the Lambda service handle retries, delivery, and ordering. When EventBridge is specified as a destination, you can declaratively route failed events to another Lambda or Step Functions using rules and filters. On SAA-C03, when keywords such as "retain failed events from asynchronous Lambda," "investigate and reprocess later," or "do not lose events" appear, DLQ or Destinations is the correct answer. Distractors include "CloudWatch Logs alone is sufficient," "X-Ray tracing reproduces failures," or "switch to synchronous invocation." Logs and traces are after-the-fact observability and are not mechanisms for retaining the failed events themselves.