DEA-C01 Data Ingestion and Transformation Practice Question
A company is ingesting IoT sensor data from thousands of devices using Amazon Kinesis Data Streams. The data is consumed by a Lambda function that transforms and writes to Amazon S3. The company notices that occasionally records are dropped. The data engineer needs to identify the cause and prevent data loss. Which TWO actions should the data engineer take? (Choose TWO.)
⚠ Common exam trap
Watch out — candidates often think adding a buffer (SQS) or reducing batch size solves the issue, but the real cause is often shard throttling or processing failures, which require scaling shards and using a DLQ respectively.
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
✓
Increase the number of shards in the Kinesis data stream.
Increasing the number of shards in the Kinesis data stream raises the total read and write capacity, reducing the likelihood of throttling that can cause records to be dropped. Option E is correct because configuring a dead-letter queue (DLQ) on the Lambda function captures records that fail processing after all retries, preventing data loss and enabling reprocessing.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Enable CloudWatch Logs on the Kinesis stream to log all records.
Why it's wrong here
Logging does not prevent data loss; it only records events.
- ✗
Decrease the Lambda batch size to process records more frequently.
Why it's wrong here
Smaller batch sizes may increase overhead and not solve throttling.
- ✗
Add an Amazon SQS queue between Kinesis and Lambda to buffer records.
Why it's wrong here
Lambda can poll Kinesis directly; SQS is not needed and adds latency.
- ✓
Increase the number of shards in the Kinesis data stream.
Why this is correct
More shards provide higher throughput, reducing throttling.
- ✓
Configure a dead-letter queue on the Lambda function to capture failed records.
Why this is correct
DLQ retains records that could not be processed, preventing data loss.
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
This DEA-C01 question is part of Courseiva's 1,711-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This DEA-C01 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 DEA-C01 exam.