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

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 的更多信息,请参阅以下内容: