本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
添加对暂时 Lambda 服务异常的处理
AWS Lambda 偶尔会遇到暂时的服务错误。在这种情况下,调用 Lambda 会导致 500 错误,例如 ClientExecutionTimeoutException
、ServiceException
、AWSLambdaException
或 SdkClientException
。作为最佳实操,在状态机中主动处理这些异常,以 Retry
调用 Lambda 函数或 Catch
错误。
Lambda 错误报告为 Lambda.
。要重试 Lambda 服务异常错误,可以使用以下 ErrorName
Retry
代码。
"Retry": [ { "ErrorEquals": [ "Lambda.ClientExecutionTimeoutException", "Lambda.ServiceException", "Lambda.AWSLambdaException", "Lambda.SdkClientException"], "IntervalSeconds": 2, "MaxAttempts": 6, "BackoffRate": 2 } ]
注意
Lambda 中未处理的错误在错误输出中报告为 Lambda.Unknown
。其中包括 out-of-memory 错误和函数超时。您可以匹配 Lambda.Unknown
、States.ALL
或 States.TaskFailed
来处理这些错误。当 Lambda 达到最大调用次数时,会出现 Lambda.TooManyRequestsException
错误。有关 Lambda Handled
和Unhandled
错误的更多信息,请参阅AWS Lambda 开发人员FunctionError
指南中的。
有关更多信息,请参阅下列内容: