SQS使用多个记录/消息触发Lambda吗?

时间:2018-07-30 14:50:43

标签: amazon-web-services aws-lambda amazon-sqs

我观察到一个异常的功能(在我的POV中),当我设置SQS来触发Lambda时,当新消息到达时,Lambda会在其事件主体中被超过1条记录/消息触发。 >

完整设置为S3(PutObjectEvent)-> SNS主题-> SQS-> Lambda。

异常行为是,例如,我在S3中放入了15个对象,然后将每个对象转发一个事件到SNS,然后我可以观察到,SQS填充了15条消息。但是,当Lambda开始触发时,在这15条消息中,只有11条Lambda触发,其中一些Lambda在其事件主体中包含多于1条记录/消息。

我已经搜索了AWS文档,但没有找到具体答案。请注意,这些Lambda不会轮询SQS或失败或继续重试。他们执行得很好,只是检查的事件主体在其中显示了1条以上的记录。

1 个答案:

答案 0 :(得分:5)

查看SQS Lambda消息here的样本事件数据。该消息是一组记录,直接表明该消息中可能有多个SQS记录。

The documentation on SQS Lambda integration还明确指出,Batch Size设置控制一次调用中Lambda函数可以从SQS接收多少记录,默认值为10。如果只希望Lambda函数一次接收一条消息,则需要将Batch Size设置修改为1

相关问题