Which Kinesis Option Delivers IoT Sensor Data to S3 with Least Latency?
A lab uses IoT sensors to monitor humidity, temperature, and pressure for a project. The sensors send 100 KB of data every 10 seconds. A downstream process will read the data from an Amazon S3 bucket every 30 seconds. Which solution will deliver the data to the S3 bucket with the LEAST latency?
Community Votes
59% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.
Community Insight
You must distinguish between Kinesis Data Streams as a durable ingestion buffer and Firehose as a managed delivery service; the trap is assuming Firehose's default or 5-second buffer beats a purpose-built KCL consumer.
This DEA-C01 question asks which AWS streaming path writes 100 KB IoT sensor batches to Amazon S3 with the least latency. The answer is Kinesis Data Streams with the Kinesis Client Library and a 5-second application buffer, because it avoids Firehose's longer default buffering and the extra Flink hop.
Many learners pick D, pairing Managed Service for Apache Flink with Firehose on a 5-second buffer, but Flink adds an unnecessary processing stage and Firehose buffering — plus historically a 60-second minimum — so it is not the lowest-latency path.
Community Discussion (9 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
Option C uses Amazon Kinesis Data Streams to capture the 100 KB sensor payloads as they arrive every 10 seconds, and the Kinesis Client Library (KCL) lets a custom consumer read those records and write them directly to Amazon S3. By setting a 5-second buffer interval in that application, the lab can flush data to S3 well within the downstream 30-second read cycle. KDS itself does not natively write to S3, so the KCL consumer is the component that performs the delivery; the short application buffer gives the least end-to-end latency among the choices. Community members such as tgv and andrologin reached the same conclusion, with andrologin noting "Use data streams and KCL." This design is the most direct streaming-to-S3 path without adding another managed service.Why the Other Options Are Wrong
Option A relies on Kinesis Data Firehose with its default buffer interval, which is far longer than 30 seconds — historically 300 seconds, or at minimum 60 seconds — so downstream reads would often find no new S3 object. Option B uses only Kinesis Data Streams and does not specify a consumer that writes to S3; data streams store records but cannot deliver them to S3 by themselves, and provisioning five shards changes throughput, not delivery latency. Option D inserts Amazon Managed Service for Apache Flink before Firehose, adding a processing stage, and Firehose still buffers; even though AWS later introduced zero buffering, the Flink hop makes it slower than a direct KCL writer. As artworkad pointed out, "Kinesis Data Streams cannot deliver directly to S3," which is exactly why C pairs KDS with a KCL application rather than relying on KDS alone.Community Comment Notes
GHill1982 highlighted a key Firehose constraint: "Kinesis Data Firehose has a minimum buffer interval of 60 seconds (1 minute)" — that rules out D in the exam's original context. Eleftheriia asked why A could not work and linked a Firehose + EMR blog, but that pipeline is optimized for batch analytics, not the lowest latency to S3. LR2023 shared AWS's zero-buffering announcement, which shows Firehose can now be tuned very low, yet the question still asks for the least latency and C's direct KCL write avoids Firehose entirely. Several voters, including tgv, favored C because the 5-second application buffer and KCL processing logic meet the 30-second downstream SLA.Official Reference
Exam Strategy
For latency questions, trace the full path from producer to sink and look for every buffering or processing hop. If an option uses Firehose's default buffer, remember the default is 300 seconds and the historical minimum is 60 seconds, so it rarely satisfies sub-minute downstream reads. Direct consumer writes, like a KCL application, usually win when the question asks for the least latency.
Frequently Asked Questions
Why can't Kinesis Data Streams deliver IoT data to S3 by itself?
Kinesis Data Streams stores records for consumers but has no native S3 sink. You need a KCL application or Firehose to read records and write them to S3.
Does Firehose support a 5-second buffer interval for S3 in option D?
Firehose historically enforced a 60-second minimum, and AWS later added zero buffering; either way, adding Managed Flink before Firehose introduces more processing latency than a direct KCL write.
Related Analysis
Practice All DEA-C01 Questions
Access 100 questions with complete answers and detailed explanations.
View Full DEA-C01 Practice Test →