Correct answer: C.
Option A is incorrect because the maximum capabilities of a shard is a throughput capacity of 1MB data input and 1000 PUT records per second.
More information: https://aws.amazon.com/kinesis/data-streams/faqs/#:~:text=Shard%20is%20the%20base%20throughput,you%20create%20a%20data%20stream.
Option B is incorrect because you can only have complete units of shards.
Option C is CORRECT because with 5 shards you will have 5MB MB/sec of data input and 5000 PUT records per second.
With this you can cover the requirements.
Option D is incorrect because one shard is not enough to cover these requirements.
To calculate the number of shards required for a Kinesis stream, we need to consider the total throughput and the number of records per second.
Each shard in a Kinesis stream can handle up to a maximum of 1 MB of data per second or 1000 records per second (whichever limit is reached first).
So, the first step is to determine which limit is reached first for our data stream:
Throughput limit: 4.5 MB/sec ÷ 1 MB/sec per shard = 4.5 shards (rounded up to 5 shards)
Records per second limit: 4600 records/sec ÷ 1000 records/sec per shard = 4.6 shards (rounded up to 5 shards)
Since we need to round up to the nearest integer, we can see that we need a minimum of 5 shards to handle this data stream.
Therefore, the answer is C. 5.