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

如何通过Terraform导出AWS API Gateway的OpenAPI规范?

用Terraform导出AWS API Gateway v2的OpenAPI文档

关于apigatewayv2_export数据源的说明

首先明确:apigatewayv2_export数据源本身不会自动生成本地文件,它的作用是从AWS获取OpenAPI文档的内容(以字符串形式存放在body属性里),你之前可能误解了body的含义——它不是API的ID,是返回的OpenAPI文档文本内容。

具体实现步骤

1. 配置apigatewayv2_export数据源

定义数据源,指定目标API ID、导出格式与对应阶段:

data "apigatewayv2_export" "my_api_openapi" {
  api_id      = "your-api-gateway-id"  # 替换为你的API网关ID
  export_type = "openapi3"             # 导出格式,可选openapi3/openapi3_yaml
  stage_name  = "prod"                 # 替换为要导出的API阶段名称
}

2. 将导出内容写入本地文件

利用Terraform的local_file资源,把数据源返回的body内容写入本地指定路径:

resource "local_file" "openapi_spec" {
  content  = data.apigatewayv2_export.my_api_openapi.body
  filename = "./openapi-spec.json"     # 自定义输出路径和文件名,yaml格式可改为.yaml
}

3. 执行Terraform命令

运行以下命令完成导出:

terraform init
terraform apply

执行完成后,你指定的路径下就会生成对应的OpenAPI文档文件。

常见注意事项

  • 确保Terraform AWS Provider版本≥3.0.0,否则可能不支持apigatewayv2_export数据源
  • 要导出的API阶段必须已完成部署,否则会返回错误
  • 若需要YAML格式,将export_type设为openapi3_yaml即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 08:12:05