我使用 AWS Lambda (node.js) 作为 AWS Kinesis 消费者。我可以看到您可以设置最大批量大小,但我想知道我是否可以设置最小批量大小。这样我就可以确保每个 lambda 将处理至少 50(或任意数量)条记录。
我想要一个最小批量大小,因为 lambda 消费者将建立与 RDS MySQL 实例的连接,而我正试图保持较低的并发连接数。
如果没有设置最小值的配置功能,我们将不胜感激。
谢谢。
最佳答案
一种方法是使用 Kinesis Firehose,它根据您的传输流的缓冲配置连接多个传入记录。
- Send data to Firehose - 使用他们的 API 直接将记录放入 Firehose Stream,或者将 Firehose 附加到您现有的运动流。
- Set S3 as your Firehose's destination - 这实际上会聚合您的个人记录,并将它们作为单个对象放入 S3。您可以指定分隔符,甚至可以在单个记录上指定转换 lambda 函数。
- Listen for S3:PutObject - 附加您的 lambda 以监听从 Firehose 流接收这些聚合记录的 S3 存储桶。
关于node.js - Kinesis Lambda 消费者最小批量大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46008936/