Posted On: Sep 23, 2019

AWS Lambda now supports Batch Window, a new feature that allows developers to fine tune Lambda invocation for cost optimization. This feature gives you additional control on batching behavior when processing data from Kinesis data streams and DynamoDB streams.

Lambda reads records from a stream at a fixed cadence (e.g. once per second for Kinesis data streams) and invokes a function with a batch of records. Batch Window allows you to wait as long as 300s to build a batch before invoking a function. Now, a function is invoked when one of the following conditions is met: the payload size reaches 6MB, the Batch Window reaches its maximum value, or the Batch Size reaches its maximum value. With Batch Window, you can increase the average number of records passed to the function with each invocation. This is helpful when you want to reduce the number of invocations and optimize cost.

You can get started with Batch Window via AWS management console, AWS CLI, or AWS SDK for Lambda. It can be used at no additional cost in all regions where AWS Lambda is available. For more information on where AWS Lambda is available, see the AWS  region table. To learn more, see Using AWS Lambda with Amazon Kinesis and Using AWS Lambda with Amazon DynamoDB in the AWS Lambda Developer Guide.