You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Terraform勾选API Gateway GET集成请求的Lambda代理集成复选框

解决Terraform配置AWS API Gateway Lambda代理集成的问题

你要开启的「Use Lambda Proxy integration」不是在aws_api_gateway_method里配置的,得通过aws_api_gateway_integration资源来实现。之前加的request_parameters是用来声明要传递的请求参数,和代理集成完全无关,所以不会生效。

正确的配置需要同时定义方法和集成资源,示例代码如下:

# 定义API Gateway GET方法
resource "aws_api_gateway_method" "request_method_get" {
  rest_api_id   = local.rest_api_id
  resource_id   = local.resource_id
  http_method   = "GET"
  authorization = "CUSTOM"
  authorizer_id = aws_api_gateway_authorizer.auth.id
}

# 配置Lambda代理集成
resource "aws_api_gateway_integration" "lambda_proxy_integration" {
  rest_api_id             = local.rest_api_id
  resource_id             = local.resource_id
  http_method             = aws_api_gateway_method.request_method_get.http_method
  type                    = "AWS_PROXY"  # 对应控制台里的「Use Lambda Proxy integration」勾选框
  integration_http_method = "POST"       # Lambda代理集成固定使用POST
  uri                     = aws_lambda_function.your_lambda.invoke_arn  # 替换为你的Lambda函数ARN引用
}

关键要点:

  • type = "AWS_PROXY" 就是对应控制台中勾选「Use Lambda Proxy integration」的配置项
  • 无论你的API是GET、POST还是其他HTTP方法,integration_http_method必须设为POST,这是Lambda代理集成的硬性要求
  • 记得把aws_lambda_function.your_lambda.invoke_arn替换成你实际的Lambda函数资源引用

内容的提问来源于stack exchange,提问作者Madhawa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 17:25:16