Lambda SQS 触发器批处理窗口和批处理大小未按预期工作

Jay*_*ani 12 amazon-sqs amazon-web-services aws-lambda

我有一个监听第三方 SNS 的 AWS SQS(标准队列)。我有一个 lambda 设置,其中具有批量大小 10000 和批量窗口 300 的 SQS 触发器。我的 SQS 接收大约。一次 150 条消息,但即使我配置了批量大小 10000,lambda 也会一次触发 20-30 条消息。我不明白为什么会发生这种情况...即使 SQS 有足够的消息和足够的时间(300 秒)批处理窗口)来填充批处理,但它没有这样做。

我用 google 搜索了这个问题,发现 lambda 的最大有效负载大小可以是 6MB。我检查了我的消息及其大约。每条消息 2.5 KB。所以 30*2.5 = 75 KB 而已,没有达到 6MB 的限制。

此外,我怀疑 lambda 并发性,因此我仅将其设置为值 1。所以没有并行的 lambda 实例。

有人可以帮助我了解问题出在哪里吗?

Mar*_*cin 20

Lambda 使用五个并行长轮询连接来检查您的队列。因此,如果您有 150 条消息,则每个连接会收到大约 30 条消息,准确解释您所看到的内容。

遗憾的是,您无法更改这些连接的数量。总是有五个。