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

Terraform导入AWS API Gateway基础路径映射的正确ID是什么?

解决AWS API Gateway自定义域名映射Terraform导入失败的问题

确认导入ID的正确格式

Terraform导入aws_api_gateway_base_path_mapping的ID格式为**自定义域名/基础路径**,需注意以下细节:

  • 若使用根路径(无指定base path),ID必须以斜杠结尾,格式为自定义域名/(例如example.com/)
  • 自定义域名要与AWS控制台中配置的完整域名完全一致(包含子域名,如api.example.com)
  • 基础路径需严格匹配AWS中实际配置的值,区分大小写

提前定义Terraform资源块

导入操作前,必须先在.tf配置文件中创建对应资源的定义,否则Terraform无法识别导入目标:

resource "aws_api_gateway_base_path_mapping" "example" {
  api_id      = "你的API资源ID"
  domain_name = "example.com" # 与导入的域名完全一致
  stage_name  = "prod" # 匹配AWS中关联的API阶段
  # 若为根路径,无需配置base_path参数;有基础路径则添加base_path = "base-path"
}

注意:上述参数(api_id、stage_name等)必须与AWS中已有的映射配置完全匹配。

用AWS CLI验证资源存在性

先通过AWS CLI确认目标映射确实存在,避免操作对象错误:

aws apigateway get-base-path-mappings --domain-name example.com

从返回结果中复制basePath字段值,用于构造正确的导入ID。

执行导入命令

确保当前工作目录为Terraform项目目录,且AWS凭证拥有apigateway:GetBasePathMappings、apigateway:UpdateBasePathMapping等权限,再执行导入:

  • 带基础路径的情况:
terraform import aws_api_gateway_base_path_mapping.example example.com/base-path
  • 根路径的情况:
terraform import aws_api_gateway_base_path_mapping.example example.com/

验证导入结果

导入完成后执行以下命令确认状态:

terraform state show aws_api_gateway_base_path_mapping.example

若能输出资源详细信息,说明导入成功。此时再执行terraform plan,不应再显示需要创建该资源。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 03:07:11