选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

Lambda 如何处理异步调用的错误和重试

聚焦模式
Lambda 如何处理异步调用的错误和重试 - AWS Lambda

Lambda 管理函数的异步事件队列以及在出错时重试的尝试次数。如果函数返回错误,Lambda 默认会尝试再运行两次,前两次尝试之间等待一分钟,第二次与第三次尝试之间等待两分钟。函数错误包括函数代码返回的错误,以及函数运行时返回的错误,例如超时。

如果该函数没有足够的并发性可用于处理所有事件,则其他请求将受到限制。对于节流错误(429)和系统错误(500 系列),Lambda 会将事件返回到队列并尝试再次运行该函数,默认最长运行 6 小时。在第一次尝试后,重试间隔从 1 秒以指数级增加到最多 5 分钟。如果队列包含多个条目,Lambda 将增加重试间隔并降低从队列中读取事件的速率。

即使您的函数没有返回错误,它也可能多次从 Lambda 接收相同的事件,因为队列本身具有最终一致性。如果函数无法跟上传入事件,则也可能从队列中删除事件而不将其发送到函数。确保您的函数代码正常处理重复事件,并且您有足够的并发可用于处理所有调用。

当队列很长时,新事件可能会在 Lambda 有机会将它们发送到您的函数之前过期。当事件过期或所有处理尝试都失败时,Lambda 将放弃该事件。您可为函数配置错误处理以减少 Lambda 执行的重试次数,或者更快地放弃未处理的事件。

您还可以配置 Lambda 以将调用记录发送至其他服务。要了解更多信息,请参阅获取 Lambda 异步调用记录

下一主题:

配置

上一主题:

异步调用
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。