添加对暂时 Lambda 服务异常的处理 - AWS Step Functions

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

添加对暂时 Lambda 服务异常的处理

AWS 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。其中包括 out-of-memory 错误和函数超时。您可以匹配 Lambda.UnknownStates.ALLStates.TaskFailed 来处理这些错误。当 Lambda 达到最大调用次数时,会出现 Lambda.TooManyRequestsException 错误。有关 Lambda HandledUnhandled错误的更多信息,请参阅AWS Lambda 开发人员FunctionError指南中的。

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