发布于: Nov 25, 2019

AWS Lambda 现在支持两个新功能,为开发人员提供了如何处理异步调用的额外控制:最长事件期限最大重试次数。当您异步调用函数时,Lambda 会将事件发送到一个队列。一个单独的进程会从队列读取事件并运行函数。这两个新功能提供了控制如何重试事件以及事件可以在队列中停留多长时间的方法。

最长事件期限

当函数在执行前返回错误时,Lambda 会将事件返回到队列,并尝试再次运行该函数,默认情况下最长运行 6 小时。通过最长事件期限,您可以配置事件停留在队列中的有效期,范围为 60 秒到 6 小时。这样,您可以根据事件期限删除任何不需要的事件。

最大重试次数

当函数在执行后返回错误时,Lambda 会默认尝试再运行两次。通过最大重试次数,您可以自定义最大重试次数,范围为 0 到 2 次。这样,您可以选择经过少数几次重试继续处理新事件,或不重试。

使用这两个功能,当满足以下两个条件之一时,事件将丢弃,或者发送到死信队列和/或 Lambda 目标:重试次数达到最大值,或者事件期限达到最大值。

您可以通过 AWS 管理控制台,AWS CLI、AWS CloudFormation 或适用于 Lambda 的 AWS 开发工具包使用这两个功能。在推出 AWS Lambda 的所有 AWS 区域都可以免费使用此功能。有关 AWS Lambda 可用区域的更多信息,请参阅 AWS 区域表。要了解更多信息,请参阅 AWS Lambda 开发人员指南中的异步调用和此博客文章