Amazon API Gateway
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

设置后端 Lambda 函数的异步调用

在 Lambda 非代理(自定义)集成中,默认情况下后端 Lambda 函数是同步调用的。这是大多数 REST API 操作的预期行为。但是,某些应用程序通常需要由某个单独的后端组件进行异步执行(如批处理操作或长延迟操作)才能运行。在这种情况下,后端 Lambda 函数将进行异步调用,而且前端 REST API 方法不会返回结果。

您可以通过将 'Event' 指定为 Lambda 调用类型,为要异步调用的 Lambda 非代理集成配置 Lambda 函数。按如下所示完成此操作:

在 API Gateway 控制台配置 Lambda 异步调用

  1. Integration Request (集成请求) 中,添加 X-Amz-Invocation-Type 标头。

  2. Method Request (方法请求) 中,添加一个 InvocationType 标头并将其映射到 Integration Request (集成请求) 中的 X-Amz-Invocation-Type 标头,该标头具有静态值 'Event' 或标头映射表达式 method.request.header.InvocationType。对于后者,客户端必须在对 API 方法发出请求时添 InvocationType:Event 标头。