Lambda批处理来自多个队列的SQS消息
Lambda batch processing of SQS messages from multiple queues
我有一个 lambda 设置,其中事件源配置了 5 个不同的 SQS 队列。现在,如果 lambda 的批量大小配置为 10,lambda 处理程序中 SQSEvent
中的 10 条记录是否来自同一队列,或者批量中的 10 条记录是否来自 5 个队列中的任何一个?
该行为未记录在案,但几乎可以肯定的是,Lambda 服务将从一个且仅在单个 Lambda 调用中排队的事件进行批处理。
也就是说,如果能够区分一个队列源与另一个队列源对您的应用程序至关重要,那么:
- 为每个队列创建一个 Lambda 处理程序(它可以简单地调用您的通用处理程序函数,并指示哪个队列是源),或者
- 查看事件中每条记录中
eventSourceARN
的值
我有一个 lambda 设置,其中事件源配置了 5 个不同的 SQS 队列。现在,如果 lambda 的批量大小配置为 10,lambda 处理程序中 SQSEvent
中的 10 条记录是否来自同一队列,或者批量中的 10 条记录是否来自 5 个队列中的任何一个?
该行为未记录在案,但几乎可以肯定的是,Lambda 服务将从一个且仅在单个 Lambda 调用中排队的事件进行批处理。
也就是说,如果能够区分一个队列源与另一个队列源对您的应用程序至关重要,那么:
- 为每个队列创建一个 Lambda 处理程序(它可以简单地调用您的通用处理程序函数,并指示哪个队列是源),或者
- 查看事件中每条记录中
eventSourceARN
的值