Courseiva
Troubleshooting and OptimizationmediumMultiple ChoiceObjective-mapped

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 ClassMin DurationRetrievalUse Case
S3 StandardNoneImmediateFrequently accessed data
S3 Standard-IA30 daysImmediateInfrequent access, rapid retrieval
S3 One Zone-IA30 daysImmediateNon-critical infrequent data
S3 Intelligent-TieringNoneImmediate–hoursUnknown or changing access patterns
S3 Glacier Instant90 daysMillisecondsArchive with instant retrieval
S3 Glacier Flexible90 daysMinutes–hoursArchive, flexible retrieval
S3 Glacier Deep Archive180 daysHoursLong-term compliance archive

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 →

How Courseiva writes practice questions · Editorial policy

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.