发布于: Apr 12, 2021

Amazon Lambda 现在允许客户在由光环新网运营的亚马逊云科技国(北京)区域和由西云数据运营的亚马逊云科技国(宁夏)区域使用 Amazon Simple Queue Service (Amazon SQS) 作为事件源来定义名为 MaximumBatchingWindowInSeconds 的等待期,从而可以首先在其 SQS 队列中积累消息,然后再调用 Lambda 函数。除了批量大小之外,这是批量发送记录的第二种选择,用以减少 Lambda 调用的次数。此选项非常适合对时间不敏感且可以选择等待优化成本的工作负载。 

以前,从 SQS 队列轮询的 Lambda 函数会在调用函数之前以最多 10 个批次发送消息。现在,客户还可以定义一个时间窗口,Lambda 应等待该时间窗口来轮询 SQS 队列中的消息,然后再调用其函数。Lambda 最多将等待 300 秒,然后再轮询 SQS 队列中的消息。定义批处理窗口后,只要有效负载大小保持在 6MB 或更小,Lambda 便会返回最多 10000 条消息。

首先,在使用 SQS 作为事件源以创建新的 Lambda 函数或更新现有函数时,客户可以在亚马逊云科技管理控制台、Amazon CLI、Amazon SAM 或适用于 Lambda 的亚马逊云科技开发工具包上将 MaximumBatchingWindowInSeconds 字段设置为 0 到 300 秒之间的任何值。此功能无需额外付费即可使用。要了解有关为 SQS 触发的 Lambda 函数设置和使用 MaximumBatchingWindowInSeconds 的更多信息,请阅读 Lambda 开发人员指南