处理 Lambda 服务异常 - Amazon Step Functions
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

处理 Lambda 服务异常

Amazon Lambda 可能会偶尔遇到暂时性服务错误。在这种情况下,调用 Lambda 会导致 500 错误,例如 ClientExecutionTimeoutExceptionServiceExceptionAWSLambdaExceptionSdkClientException。作为最佳实操,在状态机中主动处理这些异常,以 Retry 调用 Lambda 函数或 Catch 错误。

Lambda 错误报告为 Lambda.ErrorName。要重试 Lambda 服务异常错误,可以使用以下 Retry 代码。

"Retry": [ { "ErrorEquals": [ "Lambda.ClientExecutionTimeoutException", "Lambda.ServiceException", "Lambda.AWSLambdaException", "Lambda.SdkClientException"], "IntervalSeconds": 2, "MaxAttempts": 6, "BackoffRate": 2 } ]
注意

Lambda 中未处理的错误在错误输出中报告为 Lambda.Unknown。这些错误包括内存不足错误和函数超时。您可以匹配 Lambda.UnknownStates.ALLStates.TaskFailed 来处理这些错误。当 Lambda 达到最大调用次数时,会出现 Lambda.TooManyRequestsException 错误。有关 Lambda 函数错误的更多信息,请参阅《Amazon Lambda 开发者指南》中的错误处理和自动重试

有关更多信息,请参阅下列内容: