MLS-C01 Data Engineering Practice Question
A company is building a data pipeline to process streaming data from IoT devices. The data must be ingested with low latency, transformed in real-time using custom logic, and stored in Amazon S3 partitioned by device ID and timestamp. Which combination of AWS services should the company use to meet these requirements?
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
✓
Amazon Kinesis Data Streams with AWS Lambda and Amazon S3
Amazon Kinesis Data Streams provides low-latency ingestion of streaming data, AWS Lambda can apply custom transformation logic in real-time, and the transformed data can be stored in Amazon S3 with partitioning by device ID and timestamp using AWS Lambda to write to S3 with appropriate prefix. Option A is incorrect because Kinesis Data Firehose does not support custom transformation without invoking a Lambda function and cannot partition on write at the level of granularity required (device ID and timestamp). Option B is incorrect because Amazon MSK adds operational overhead and is more complex than needed; although an S3 sink connector can write to S3, it does not easily support custom transformation and partitioning by device ID and timestamp without additional configuration. Option C is incorrect because DynamoDB Streams is designed for change data capture from DynamoDB tables and is not suitable for direct ingestion of high-volume IoT streaming data.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Amazon Kinesis Data Firehose with direct S3 delivery
Why it's wrong here
Kinesis Firehose does not provide built-in custom transformation without Lambda and cannot partition output dynamically.
- ✗
Amazon Managed Streaming for Apache Kafka (MSK) with Amazon S3 sink connector
Why it's wrong here
MSK introduces operational overhead and is not the simplest solution for this use case.
- ✗
Amazon DynamoDB Streams with AWS Lambda and Amazon S3
Why it's wrong here
DynamoDB Streams is for change data capture from DynamoDB, not for IoT streaming data.
- ✓
Amazon Kinesis Data Streams with AWS Lambda and Amazon S3
Why this is correct
Kinesis Data Streams for ingestion, Lambda for real-time transformation, and S3 for storage with partitioning.
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 1,672 original MLS-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 →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This MLS-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 MLS-C01 exam.