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

Terraform创建Azure配置键报错:路径段数无法被2整除

问题原因

该报错是azurerm 2.x版本提供程序的隐式依赖识别失效导致的:
Terraform默认会并行处理无显式依赖关联的资源逻辑,在执行terraform plan阶段尝试拉取azurerm_app_configuration_key的现有状态时,关联的App Configuration实例还未完成创建,提供程序无法获取实例的完整元数据,拼接配置键资源ID时会错误地将label值直接作为路径段追加,最终生成的资源ID路径段数为奇数,不符合Azure资源ID「段名/段值」成对出现的格式要求,触发解析报错。
无论是否显式传入label参数,只要依赖顺序不对,提供程序都会在ID拼接阶段触发该错误,和label本身的取值、提供程序小版本bug无关。

修复方案
  • 给所有azurerm_app_configuration_key资源显式添加依赖声明,强制Terraform等待App Configuration实例完全创建完成后,再处理配置键相关的逻辑,修改后的配置键资源示例如下:
resource "azurerm_app_configuration_key" "MainAPI" {
  configuration_store_id = azurerm_app_configuration.appconf.id
  key                    = "MainAPI"
  value                  = var.picking_api_url
  type                   = "kv"
  label                  = var.environment_name

  # 显式声明对App Configuration实例的依赖
  depends_on = [
    azurerm_app_configuration.appconf
  ]
}

其余省略的配置键资源也需要添加相同的depends_on配置。

  • 清理本地状态中残留的错误资源记录,避免旧的异常ID缓存影响执行:
    terraform state rm $(terraform state list | grep azurerm_app_configuration_key)
    如果是在流水线环境中执行,可以直接清空工作目录下的.terraform缓存目录和旧的状态快照后重新初始化。
  • 重新执行terraform init、terraform plan验证逻辑,确认无报错后再执行terraform apply即可完成资源创建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:39:13