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

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

处理 Lambda 服务异常

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

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

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

Lambda 中的未处理错误报告为Lambda.Unknown在错误输出中。这些问题包括内存不足错误和函数超时。您可以匹配Lambda.UnknownStates.ALL,或者States.TaskFailed来处理这些错误。当 Lambda 达到最大调用次数时,错误为Lambda.TooManyRequestsException。有关 Lambda 的更多信息HandledUnhandled错误,请参阅FunctionError中的Amazon Lambda开发人员指南

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