DEA-C01 Data Operations and Support Practice Question
A company runs a data pipeline that ingests streaming data from an IoT fleet into Amazon Kinesis Data Streams (KDS) with 50 shards. A Lambda function processes records from the stream and writes them to an Amazon DynamoDB table for real-time analytics. The Lambda function is configured with a batch size of 100 and a maximum batching window of 60 seconds. Recently, the company has been seeing an increasing number of 'WriteProvisionedThroughputExceededException' errors from DynamoDB, causing Lambda to retry and eventually send records to a dead-letter queue (DLQ). The DynamoDB table is provisioned with 5000 read capacity units (RCU) and 5000 write capacity units (WCU). The average item size is 1 KB. The KDS stream receives an average of 8000 records per second, each 2 KB in size. The Lambda function performs a simple transformation and writes each record individually to DynamoDB. The company wants to reduce the throttling errors without increasing the DynamoDB WCU provision. Which course of action is most likely to achieve this?
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 Lambda batch size to 500 and reduce the batching window to 30 seconds.
Increasing the Lambda batch size to 500 reduces the number of Lambda invocations per second from approximately 80 to 16, and reducing the batching window to 30 seconds helps spread writes more evenly across time. This lowers the concurrency of write operations to DynamoDB, which can reduce the frequency of 'WriteProvisionedThroughputExceededException' errors by staying within the provisioned 5000 WCU more consistently, even though the total write capacity required (16000 WCU) exceeds provisioned. Options A and B do not reduce the write load—batching writes (A) still consumes the same WCU, and increasing concurrency (B) worsens throttling. Option C is irrelevant as timeout does not affect write rate.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Modify the Lambda function to use DynamoDB BatchWriteItem to write records in batches of 25.
Why it's wrong here
Correct. Using DynamoDB BatchWriteItem reduces the number of write API calls by batching up to 25 items per request. This reduces request-level overhead and helps stay within the provisioned write capacity by minimizing per-request throttling and leveraging burst capacity more effectively.
- ✗
Increase the Lambda function's reserved concurrency to 1000.
Why it's wrong here
Incorrect. Increasing Lambda's reserved concurrency allows more concurrent invocations, which increases the number of parallel write requests to DynamoDB. This would likely increase throttling errors since the table is already under-provisioned.
- ✗
Increase the Lambda function timeout to 5 minutes to allow more time for retries.
Why it's wrong here
Incorrect. Increasing the Lambda function timeout does not reduce the rate of write requests. It only allows the function to run longer before timing out, but throttling errors occur on each write attempt and are not alleviated by a longer timeout.
- ✓
Increase the Lambda batch size to 500 and reduce the batching window to 30 seconds.
Why this is correct
Incorrect. Increasing the Kinesis batch size to 500 and reducing the batching window to 30 seconds means each Lambda invocation will process more records, but if each record is still written individually to DynamoDB, the total number of write requests per second remains the same. Additionally, more records per invocation increases the likelihood of exceeding the per-request or per-partition write limits, potentially increasing throttling.
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
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 →
Same concept, more angles
1 more way this is tested on DEA-C01
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A company runs a data pipeline that ingests streaming data via Amazon Kinesis Data Streams, processes it with an AWS Lambda function, and stores results in Amazon DynamoDB. The Lambda function sometimes fails due to 'ProvisionedThroughputExceededException' on the DynamoDB table. Which combination of steps should a data engineer take to resolve this issue?
hard- ✓ A.Enable DynamoDB auto scaling and configure a dead-letter queue for the Lambda function.
- B.Increase the Lambda function timeout and enable batch windows.
- C.Increase the number of Kinesis shards to reduce Lambda invocations.
- D.Increase Lambda reserved concurrency and disable retries.
Why A: Enabling DynamoDB auto scaling allows the table to adjust its provisioned throughput based on actual traffic patterns, which helps prevent 'ProvisionedThroughputExceededException' when the Lambda function writes to DynamoDB. Additionally, configuring a dead-letter queue (DLQ) for the Lambda function ensures that records that fail due to throttling are captured and can be reprocessed later, preventing data loss. Option B is incorrect because increasing the Lambda function timeout does not address DynamoDB throughput limits. Option C is incorrect because increasing the number of Kinesis shards may increase the rate of Lambda invocations, potentially worsening the throttling issue. Option D is incorrect because increasing Lambda reserved concurrency could allow more concurrent invocations, which may exacerbate throughput exceedance, and disabling retries would cause data loss.
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.