我试图从Terraform中的Udemy课程复制api网关的构建
在课程中,导师在控制台上构建 POST 方法集成,选择"Lambda 函数"作为"集成类型",而不是选择"使用 Lambda 代理集成"。
这在控制台上工作正常,但是当我尝试在 Terraform 中复制它时,代码:
resource "aws_api_gateway_integration" "build-table-post-integration" {
rest_api_id = aws_api_gateway_rest_api.testAPI.id
resource_id = aws_api_gateway_resource.build-table-resource.id
http_method = aws_api_gateway_method.build-table-method-post.http_method
type = "LAMBDA"
}
我收到以下错误:
Error: expected type to be one of [HTTP AWS MOCK HTTP_PROXY AWS_PROXY], got LAMBDA
很公平,但Terraform不支持Lambda的非代理集成的逻辑结论吗?
还是我错过了重点?
如果不支持,我的选择是代理集成(不是很热衷(或使用似乎确实支持它的无服务器框架(也不是很热衷于(?
非代理 Lambda 集成要求您使用一种类型的AWS
。此类型还允许您使用 DynamoDB、SNS、SQS 和其他 AWS 服务。
AWS 用户指南还介绍了以下内容:
与指定后端的集成类型。有效值为
有关集成类型
- http 或 http_proxy:用于与 HTTP 后端集成
- aws_proxy:用于与 AWS Lambda 函数集成;
- aws:用于与 AWS Lambda 函数或其他 AWS 服务(如 Amazon DynamoDB、Amazon Simple Notification Service (集成 或亚马逊简单队列服务;
- mock:用于与 API 网关集成,而无需调用任何后端。
的更多信息,请参阅集成:类型。