PutFunctionEventInvokeConfig
配置对函数、版本或别名的异步调用选项。如果函数、版本或别名的配置已存在,则此操作会覆盖该配置。如果排除任何设置,则会删除这些设置。要设置一个选项而不影响其他选项的现有设置,请使用 UpdateFunctionEventInvokeConfig。
默认情况下,如果函数返回错误,Lambda 将重试两次异步调用。它将事件在队列中保留最多 6 个小时。如果事件未完成所有处理尝试,或者在异步调用队列中保留太长的时间,Lambda 将丢弃该事件。要保留已丢弃的事件,请使用 UpdateFunctionConfiguration 配置死信队列。
要将调用记录发送到队列、主题、函数或事件总线,请指定目的地。您可以为成功调用(成功时)和所有处理尝试均失败(失败时)的事件配置单独的目的地。除死信队列之外,或者作为替代死信队列的方式,您还可以配置目的地。
请求语法
PUT /2019-09-25/functions/FunctionName
/event-invoke-config?Qualifier=Qualifier
HTTP/1.1
Content-type: application/json
{
"DestinationConfig": {
"OnFailure": {
"Destination": "string
"
},
"OnSuccess": {
"Destination": "string
"
}
},
"MaximumEventAgeInSeconds": number
,
"MaximumRetryAttempts": number
}
URI 请求参数
请求使用以下 URI 参数。
- FunctionName
-
Lambda 函数的名称、版本或别名。
名称格式
-
函数名称 –
my-function
(仅限名称)、my-function:v1
(具有别名)。 -
函数 ARN -
arn:aws:lambda:us-west-2:123456789012:function:my-function
。 -
部分 ARN -
123456789012:function:my-function
。
您可以将一个版本号或别名附加到任何格式。长度约束仅适用于完整 ARN。如果您仅指定函数名称,它的长度限制为 64 个字符。
长度限制:最小长度为 1。长度上限为 140。
模式:
(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
必需:是
-
- Qualifier
-
版本号或别名。
长度限制:最小长度为 1。长度上限为 128。
模式:
(|[a-zA-Z0-9$_-]+)
请求正文
请求接受采用 JSON 格式的以下数据。
- DestinationConfig
-
在事件发送到函数以进行处理后的目标。
目标
-
Function - Lambda 函数的 Amazon 资源名称(ARN)。
-
Queue - 标准 SQS 队列的 ARN。
-
Topic - 标准 SNS 主题的 ARN。
-
Event Bus - Amazon EventBridge 事件总线的 ARN。
类型:DestinationConfig 对象
必需:否
-
- MaximumEventAgeInSeconds
-
Lambda 发送到函数以进行处理的请求的最长期限。
类型:整数
有效范围:最小值为 60。最大值为 21600。
必需:否
- MaximumRetryAttempts
-
在函数返回错误时重试的最大次数。
类型:整数
有效范围:最小值为 0。最大值为 2。
必需:否
响应语法
HTTP/1.1 200
Content-type: application/json
{
"DestinationConfig": {
"OnFailure": {
"Destination": "string"
},
"OnSuccess": {
"Destination": "string"
}
},
"FunctionArn": "string",
"LastModified": number,
"MaximumEventAgeInSeconds": number,
"MaximumRetryAttempts": number
}
响应元素
如果此操作成功,则该服务将会发送回 HTTP 200 响应。
服务以 JSON 格式返回以下数据。
- DestinationConfig
-
在事件发送到函数以进行处理后的目标。
目标
-
Function - Lambda 函数的 Amazon 资源名称(ARN)。
-
Queue - 标准 SQS 队列的 ARN。
-
Topic - 标准 SNS 主题的 ARN。
-
Event Bus - Amazon EventBridge 事件总线的 ARN。
类型:DestinationConfig 对象
-
- FunctionArn
-
函数的 Amazon Resource Name (ARN)。
类型:字符串
模式:
arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))?
- LastModified
-
上次更新配置的日期和时间(以 Unix 时间秒为单位)。
类型:时间戳
- MaximumEventAgeInSeconds
-
Lambda 发送到函数以进行处理的请求的最长期限。
类型:整数
有效范围:最小值为 60。最大值为 21600。
- MaximumRetryAttempts
-
在函数返回错误时重试的最大次数。
类型:整数
有效范围:最小值为 0。最大值为 2。
错误
有关所有操作返回的常见错误的信息,请参阅 常见错误。
- InvalidParameterValueException
-
请求中的参数之一无效。
HTTP 状态代码:400
- ResourceConflictException
-
资源已存在,或者其他操作正在进行中。
HTTP 状态代码:409
- ResourceNotFoundException
-
请求中指定的资源不存在。
HTTP 状态代码:404
- ServiceException
-
Amazon Lambda 服务遇到了内部错误。
HTTP 状态代码:500
- TooManyRequestsException
-
超出了请求吞吐量限制。有关更多信息,请参阅 Lambda 限额。
HTTP 状态代码:429
另请参阅
有关在特定语言的 Amazon SDK 中使用此 API 的更多信息,请参阅以下内容: