Answer : B, E
Option A is incorrect - The limits of the data ingested by KPL library is capped at 1000 records/sec and 1 MB throughput per shard.The maximum size of a user record is capped at 1 MB. Though KPL supports both aggregation and collection, there is a limitation with the amount of data that is being processed.
https://docs.aws.amazon.com/streams/latest/dev/developing-producers-with-kpl.html
Option B is correct - Streams API, using PutRecords operation sends multiple records to Kinesis Data Streams in a single request. By using PutRecords, producers can achieve higher throughput when sending data to their Kinesis data stream. Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MB, up to a limit of 5 MB for the entire request, including partition keys. Also the platform programmatically supports changing between submissions of single records versus multiple records in a single HTTP request.
https://docs.aws.amazon.com/streams/latest/dev/developing-producers-with-sdk.html
Option C is incorrect - Kinesis Agent is a stand-alone Java software application that offers an easy way to collect and send data to Kinesis Data Streams. The agent continuously monitors a set of files and sends new data to your stream. The agent handles file rotation, checkpointing, and retry upon failures. It delivers all of your data in a reliable, timely, and simple manner.
https://docs.aws.amazon.com/streams/latest/dev/writing-with-agents.html
Option D is incorrect -Consumers based on KCL library use push mechanism. use the record processor support provided by the Kinesis Client Library (KCL) to retrieve stream data in consumer applications. This is a push model, where you implement the code that processes the data. The KCL retrieves data records from the stream and delivers them to your application code.
https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-sdk.html
Option E is correct - The Kinesis Data Streams API provides the getShardIterator and getRecords methods to retrieve data from a stream. This is a pull model, where your code draws data directly from the shards of the stream.
https://docs.aws.amazon.com/streams/latest/dev/developing-consumers-with-sdk.html
Option F is incorrect - The limits of the data ingested by KPL library is capped at 1000 records/sec and 1 MB throughput per shard.The maximum size of a user record is capped at 1 MB. Though KPL supports both aggregation and collection, there is a limitation with the amount of data that is being processed.
https://docs.aws.amazon.com/streams/latest/dev/developing-producers-with-kpl.html