SAA-C03 Design Resilient Architectures Practice Question
A healthcare analytics platform processes streaming records with an AWS Lambda function that writes results to an Amazon DynamoDB table. The pipeline must not lose records if the function throws an error, and the operations team wants to inspect and reprocess failed records without writing custom retry code. Which approach should the solutions architect use?
⚠ Common exam trap
The trap here is believing Lambda retries a failing batch indefinitely; event source mappings retry a limited number of times, and without an on-failure destination the batch is discarded once retries are exhausted.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Configure the event source mapping with a maximum retry count and a destination on failure set to an Amazon SQS queue configured as a dead-letter queue
Lambda event source mappings support a maximum retry count plus an on-failure destination that captures the failed batch after retries are exhausted. Pointing that destination at an SQS queue gives the team a durable holding area where failed records can be examined and replayed, satisfying both no-loss and no-custom-code goals. The other options either only tune performance, rely on nonexistent indefinite retries, or reintroduce the custom logic the team wants to eliminate.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Write a wrapper inside the function that catches exceptions and re-sends the batch to the stream before returning success
Why it's wrong here
This requires custom retry code inside the function, which the operations team explicitly wants to avoid, and re-sending to a stream can create duplicate processing and ordering issues. The function would also need to track its own failure state, adding complexity and new failure modes. This approach conflicts with the requirement to avoid bespoke retry logic.
- ✓
Configure the event source mapping with a maximum retry count and a destination on failure set to an Amazon SQS queue configured as a dead-letter queue
Why this is correct
For Lambda event source mappings, the maximum retry count controls how many times a failing batch is retried, and the on-failure destination sends the batch metadata to an SQS queue or SNS topic after retries are exhausted. That preserves failed records for later inspection and reprocessing without custom code. This directly meets both the no-loss and no-custom-retry requirements.
- ✗
Set the function's timeout to the maximum value and rely on Lambda's built-in retry of the entire batch until it succeeds
Why it's wrong here
Lambda retries a failing batch only a limited number of times for event source mappings; it does not retry indefinitely until success. Extending the timeout merely gives each attempt more time and can increase cost, but exhausted retries still discard the batch. Without an on-failure destination, failed records are not retained for inspection.
- ✗
Increase the Lambda function's reserved concurrency so that retries happen faster and failures are less likely
Why it's wrong here
Reserved concurrency caps how many concurrent invocations the function can serve; it does not provide retry or failure capture. Raising it may reduce throttling-related errors, but a function that throws an error will still discard the batch once retries are exhausted. There is no mechanism here to preserve or reprocess failed records, so the no-loss requirement is unmet.
Quick reference
Cloud Service Model Comparison
| Model | You Manage | Provider Manages | Examples |
|---|---|---|---|
| IaaS | OS, runtime, apps, data | Hardware, hypervisor, networking | EC2, Azure VMs, GCP Compute Engine |
| PaaS | Apps and data | OS, runtime, middleware, hardware | Elastic Beanstalk, Azure App Service |
| SaaS | Data and settings only | Everything else | Microsoft 365, Salesforce, Workday |
| FaaS / Serverless | Function code only | Infra, scaling, runtime | Lambda, Azure Functions, Cloud Run |
| CaaS | Containers and apps | Kubernetes, OS, hardware | EKS, AKS, GKE |
Go deeper
Related to this question
About these practice questions
Courseiva writes every SAA-C03 question from scratch — 935 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Amazon Web Services exam blueprint
This SAA-C03 practice question is part of Courseiva's free Amazon Web Services certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SAA-C03 exam.