首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Terraform:如何在根创建api网关POST方法?

Terraform:如何在根创建api网关POST方法?
EN

Stack Overflow用户
提问于 2020-04-06 19:46:54
回答 2查看 2.9K关注 0票数 9

我试图在根api网关URL (如https://somehash.execute-api.us-east-1.amazonaws.com/dev )上使用terraform创建POST方法,这将包括这个阶段。以下是令人关切的地形规划的一部分:

代码语言:javascript
运行
AI代码解释
复制
resource "aws_api_gateway_rest_api" "api" {
  name = "submit-dev-gateway-api"
}

resource "aws_api_gateway_resource" "resource" {
  rest_api_id = "${aws_api_gateway_rest_api.api.id}"
  parent_id = "${aws_api_gateway_rest_api.api.root_resource_id}"
  path_part = "submit"
}

resource "aws_api_gateway_method" "post_form" {
  rest_api_id   = "${aws_api_gateway_rest_api.api.id}"
  resource_id   = "${aws_api_gateway_resource.resource.id}"
  http_method   = "POST"
  authorization = "NONE"
}
...

我尝试将path_part更改为"/“,但它没有工作。如果没有aws_api_gateway_method,我就无法创建aws_api_gateway_resource资源。我可以手动在根上创建一个帖子,而不需要terraform,如下所示:

当我使用上面的地形图时,我得到了以下信息:

如何用地形在根上创建POST?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-07 08:34:01

“根资源”是作为创建API网关REST的一部分自动创建的。在Terraform中,该根资源的id公开为REST资源实例的属性

因为该资源是作为API的一部分隐式创建的,因此我们不需要单独的资源。相反,我们可以直接将方法(以及其他必要的下游对象)附加到现有的根资源上:

代码语言:javascript
运行
AI代码解释
复制
resource "aws_api_gateway_rest_api" "api" {
  name = "submit-dev-gateway-api"
}

resource "aws_api_gateway_method" "post_form" {
  rest_api_id   = aws_api_gateway_rest_api.api.id
  resource_id   = aws_api_gateway_rest_api.api.root_resource_id
  http_method   = "POST"
  authorization = "NONE"
}
票数 23
EN

Stack Overflow用户

发布于 2020-04-06 20:48:55

您必须检查path_part。试一试

代码语言:javascript
运行
AI代码解释
复制
path_part   = "{submit}"

path_part参数将包含一个表示端点路径的字符串。阅读更多零件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61072514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文