我正在编写 Terraform 来部署具有 AWS Lambda 集成的 AWS API 网关。我想在我可以从 lambda 引用的 url 中指定一个可选的路径参数。我不知道如何在 AWS API Gateway terraform 中指定它。
我能找到的关于路径变量的唯一信息是这篇 SO 帖子:在 Terraform,你如何在请求路径中指定一个带有变量的 API 网关端点?
其中,answer 指定了 aws_api_gateway_integration 函数的 uri 字段中的路径变量:
resource "aws_api_gateway_integration" "get-account-integration" {
rest_api_id = "${var.gateway_id}"
resource_id = "${var.resource_id}"
http_method = "${aws_api_gateway_method.get-account.http_method}"
type = "HTTP"
integration_http_method = "GET"
uri = "/integration/accounts/{id}" # <--
passthrough_behavior = "WHEN_NO_MATCH"
request_parameters {
"integration.request.path.id" = "method.request.path.accountId"
}
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,AWS Lambda 集成使用该 uri 字段作为 lambda 的 ARN。以下是我在集成中引用 lambda 的方式:
resource "aws_api_gateway_integration" "books_lambda" {
rest_api_id …Run Code Online (Sandbox Code Playgroud)