使用Terraform创建Azure AppService遇资源已存在错误,导入失败求助
解决Terraform导入Azure Source Control Token时的大小写匹配问题
问题描述
ID为"/providers/Microsoft.Web/sourceControls/GitHub"的资源已存在 - 若要通过Terraform管理该资源,需将其导入状态。
执行导入命令:
terraform import azurerm_source_control_token.dobble_token /providers/Microsoft.Web/sourcecontrols/GitHub
后触发错误:
ID必须严格为"/providers/Microsoft.Web/sourceControls/GitHub"。
已在Terraform配置中将azurerm_source_control_token.dobble_token的ID设置为"/providers/Microsoft.Web/sourceControls/GitHub",但问题仍未解决。
核心原因与解决办法
问题根源是Azure资源ID的大小写敏感性:
- 你执行导入命令时使用了小写的
sourcecontrols,但目标资源的正确ID是大写开头的sourceControls - 修正导入命令的资源ID大小写,执行以下命令即可完成导入:
terraform import azurerm_source_control_token.dobble_token /providers/Microsoft.Web/sourceControls/GitHub
后续验证
- 执行修正后的命令,确认导入操作成功完成
- 运行
terraform plan检查是否还存在资源冲突报错 - 若配置中手动指定了ID字段,确保其值与导入的资源ID完全一致(包括大小写),建议优先移除手动设置的ID,让Terraform自动匹配导入状态
内容的提问来源于stack exchange,提问作者user14805556
相关产品推荐
相关产品推荐

