小编use*_*394的帖子

Terraform:为调用 Lambda 的 AWS API Gateway 创建 url 路径参数?

我正在编写 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)

lambda terraform aws-api-gateway terraform-provider-aws

7
推荐指数
1
解决办法
2771
查看次数