I have a Kinesis data stream with shard size 5 that triggers a lambda with batch size 1. Looking at the logs, the lambda function is triggered asynchronously with one record even though there are multiple records in the data stream distributed among different shards.
While looking at the documentation, it is mentioned that "Lambda reads records from the data stream and invokes your function synchronously with an event that contains stream records. Lambda reads records in batches and invokes your function to process records from the batch.".
I am trying to find out this behaviour of the lambda but could not find out the reason. Is there something that I am missing?