发布于: Dec 16, 2019

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

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

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

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

您可以通过 亚马逊云科技管理控制台、Amazon CLI、Amazon CloudFormation 或适用于 Lambda 的 亚马逊云科技开发工具包开始使用这两个功能。您可以在由光环新网运营的 亚马逊云科技中国(北京)区域和由西云数据运营的 亚马逊云科技中国(宁夏)区域免费使用这些功能。要了解更多信息,请参阅 Amazon Lambda 开发人员指南中的异步调用和此博客文章。