配置 Lambda 异步调用的错误处理设置
使用以下设置来配置 Lambda 如何处理异步函数调用的错误和重试:
使用 Lambda 控制台或 AWS CLI 配置有关函数、版本或别名的错误处理设置。
- Console
-
配置错误处理
打开 Lamba 控制台的 Functions(函数)页面。
-
选择函数。
-
选择 Configuration(配置),然后选择 Asynchronous invocation(异步调用)。
-
在 Asynchronous invocation (异步调用) 下,选择 Edit (编辑)。
-
配置以下设置。
-
选择保存。
- AWS CLI
-
要通过 AWS CLI 配置异步调用,请使用 put-function-event-invoke-config 命令。以下示例配置一个最长事件期限为 1 小时且无重试的函数。
aws lambda put-function-event-invoke-config \
--function-name error \
--maximum-event-age-in-seconds 3600
\
--maximum-retry-attempts 0
put-function-event-invoke-config
命令覆盖函数、版本或别名上的任何现有配置。要配置某个选项而不重置其他选项,请使用 update-function-event-invoke-config。以下示例配置 Lambda,以便在无法处理事件时将记录发送到名为 destination
的标准 SQS 队列。
aws lambda update-function-event-invoke-config \
--function-name my-function \
--destination-config '{"OnFailure":{"Destination": "arn:aws:sqs:us-east-1:123456789012:
destination
"}}'
您应看到以下输出:
{
"LastModified": 1573686021.479,
"FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function:$LATEST",
"MaximumRetryAttempts": 0,
"MaximumEventAgeInSeconds": 3600,
"DestinationConfig": {
"OnSuccess": {},
"OnFailure": {}
}
}
当调用事件超过最长期限或所有重试均失败时,Lambda 会丢弃该事件。要保留已丢弃事件的副本,请配置失败事件目标。