DVA-C02 Troubleshooting and Optimization Practice Question
A developer configured an S3 bucket to trigger a Lambda function on object creation. The Lambda function processes the object and then deletes it. Some objects are not being processed. What should the developer do to ensure all objects are processed?
⚠ Common exam trap
Test-takers frequently assume the issue is a permission or timeout problem, when in fact the root cause is the loss of S3 event notifications due to Lambda throttling or transient failures, which a queue-based architecture resolves.
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
✓
Send S3 events to an SQS queue and configure the Lambda function to poll the queue.
Sending S3 events to an SQS queue decouples event delivery from Lambda invocation. If the Lambda function fails or throttles, the event remains in the queue and can be retried, ensuring no objects are missed. Without a queue, S3 events that fail to invoke Lambda (e.g., due to concurrency limits) are lost, leading to unprocessed objects.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Assign a new IAM role to the Lambda function with S3 permissions.
Why it's wrong here
If the Lambda function is successfully processing *some* S3 events, its existing IAM role likely already possesses the necessary permissions to be invoked by S3 and to interact with S3 objects. A missing or incorrect IAM role would typically result in *no* events being processed at all, or consistent permission denied errors when the Lambda attempts to access S3 resources. Therefore, reassigning the role would not address intermittent or missed event triggers, as the core issue isn't authorization.
- ✗
Enable S3 versioning on the bucket.
Why it's wrong here
S3 versioning is designed to preserve multiple versions of an object in a bucket, protecting against accidental deletions or overwrites and enabling recovery to previous states. While crucial for data durability and auditing, it has no direct impact on the reliability or delivery mechanism of S3 event notifications to downstream services like Lambda. Event notification delivery is governed by the S3 event system itself, not the object versioning state, making this irrelevant to event triggering issues.
- ✓
Send S3 events to an SQS queue and configure the Lambda function to poll the queue.
Why this is correct
Direct S3-to-Lambda invocations are 'at-least-once' but can occasionally miss events under specific conditions or if the Lambda invocation fails without successful retry. By sending S3 events to an SQS queue first, SQS acts as a durable buffer, ensuring messages are reliably stored and can be retried if the Lambda function fails to process them. The Lambda function then polls the SQS queue, pulling messages and processing them, leveraging SQS's built-in retry mechanisms and dead-letter queue capabilities for robust event handling and guaranteed delivery.
- ✗
Increase the Lambda function timeout.
Why it's wrong here
Increasing the Lambda function timeout primarily addresses issues where the function itself takes too long to execute and is prematurely terminated before completing its task. It does not influence whether an S3 event successfully triggers the Lambda function in the first place or if the event notification is reliably delivered. If events are being missed, the problem lies in the event delivery mechanism or S3's ability to invoke the function, not the execution duration of the function once invoked.
Quick reference
AWS S3 Storage Class Comparison
| Storage Class | Min Duration | Retrieval | Use Case |
|---|---|---|---|
| S3 Standard | None | Immediate | Frequently accessed data |
| S3 Standard-IA | 30 days | Immediate | Infrequent access, rapid retrieval |
| S3 One Zone-IA | 30 days | Immediate | Non-critical infrequent data |
| S3 Intelligent-Tiering | None | Immediate–hours | Unknown or changing access patterns |
| S3 Glacier Instant | 90 days | Milliseconds | Archive with instant retrieval |
| S3 Glacier Flexible | 90 days | Minutes–hours | Archive, flexible retrieval |
| S3 Glacier Deep Archive | 180 days | Hours | Long-term compliance archive |
Go deeper
Related to this question
About these practice questions
One of 724 original DVA-C02 practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DVA-C02 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 DVA-C02 exam.