Courseiva
Data Ingestion and TransformationmediumMultiple ChoiceObjective-mapped

DEA-C01 Event source mapping Practice Question

A data engineer is building a real-time data pipeline to ingest sensor data from IoT devices. The data is sent to AWS IoT Core, which publishes messages to a Kinesis Data Stream. Each message is about 1 KB in size. The data must be transformed (add a device location field) and then stored in Amazon S3 for long-term analytics. The engineer has set up a Lambda function to transform the records and write to S3. However, the engineer notices that the Lambda function is invoked thousands of times per second, causing high costs and occasional throttling. The Lambda function processes only one record at a time. The engineer wants to reduce the number of Lambda invocations and improve throughput. What should the engineer do?

⚠ Common exam trap

A candidate might think that reducing the number of shards will reduce invocations, but that actually reduces the stream's ability to handle the data volume and can cause throttling or data loss.

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 to use a larger batch size and set a batch window.

Configuring the event source mapping with a larger batch size and a batch window allows Lambda to process multiple records per invocation, reducing the number of invocations and costs. This improves throughput and reduces throttling. Option A is incorrect because reducing shards reduces the stream capacity, causing backpressure and potential data loss. Option B is incorrect because increasing memory does not reduce the number of invocations; it only speeds up processing per invocation, but still processes one record at a time. Option C is incorrect because Kinesis Data Firehose can batch records, but it still uses per-record Lambda transformation if you use a Lambda function, or it can use built-in transformations but not the flexible logic described. The most direct solution is to batch records in the existing Lambda function via event source mapping parameters.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Reduce the number of shards in the Kinesis stream to limit concurrency.

    Why it's wrong here

    Incorrect. Reducing the number of shards in the Kinesis stream to limit concurrency would decrease throughput and cause backpressure, not reduce invocations effectively.

  • Increase the Lambda function's memory allocation to improve performance.

    Why it's wrong here

    Incorrect. Increasing the Lambda function's memory allocation to improve performance only speeds up individual executions but does not change the fact that each record triggers an invocation.

  • Replace the Lambda function with Amazon Kinesis Data Firehose and use its built-in transformation.

    Why it's wrong here

    Incorrect. While Kinesis Data Firehose can batch records, it still requires a Lambda function for custom transformation per record, or uses limited built-in transformations. It does not solve the issue of high invocation count for custom logic.

  • Configure the event source mapping to use a larger batch size and set a batch window.

    Why this is correct

    Correct. Configuring the event source mapping to use a larger batch size and set a batch window allows Lambda to process multiple records in a single invocation, drastically reducing invocation count and improving throughput.

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 1,711 original DEA-C01 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

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 data engineer is building a data ingestion pipeline that uses AWS Lambda to process records from Amazon Kinesis Data Streams. The Lambda function writes the processed data to Amazon DynamoDB. Which TWO factors affect the maximum number of concurrent Lambda executions for this stream? (Choose TWO.)

easy
  • A.DynamoDB table's read capacity units
  • B.Lambda function's memory allocation
  • C.Kinesis stream name
  • D.Batch size configured for the Lambda event source mapping
  • E.Number of shards in the Kinesis stream

Why D: Correct options: D and E. The maximum number of concurrent Lambda executions for processing a Kinesis stream is determined by the number of shards in the stream, because each shard can have at most one concurrent Lambda invocation processing records from that shard. The batch size configured for the Lambda event source mapping also affects concurrency: a smaller batch size can lead to more invocations per shard over time, as each shard processes batches sequentially. Options A (DynamoDB read capacity units) and B (Lambda memory allocation) do not directly limit concurrency from the stream. Option C (stream name) is just an identifier and has no effect on concurrency.

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.