我有一个由Kinesis流触发的lambda。 考虑到我已将批量大小设置为5,流会在发送5条消息时触发lambda吗?或者它会触发5个不同的lambdas'线程?
答案 0 :(得分:3)
批次大小表示最大批量大小。您的Lambda一次不会被调用超过5个对象。但是,在调用Lambda函数之前,它不会等到5个对象出现,因此可以使用少于5个对象来调用Lambda函数。
我不确定你的意思是线程。 Lambda可以启动额外的容器来处理来自Kinesis梦想的大量事件,但这与您的批量大小没有直接关系。
答案 1 :(得分:0)
关于批次大小,先前的答案是正确的。您的函数永远不会被调用超过5条记录。但是,它的调用可能更少。这实际上取决于您的流的吞吐量。
关于您将调用多少个lambda函数的问题。流中每个分片将运行一个lambda函数。因此,如果您的流只有一个分片,那么只有一个lambda函数可以并行运行。如果您的流具有10个分片,则最多可以并行运行10个lambda函数(如果吞吐量太低并且并非所有分片都在处理数据,则可能会更少)。