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

使用Terraform local-exec执行多条az cli命令遇表达式报错如何解决

错误根因

  • heredoc 起始标记 <<EOT 后存在多余空格,Terraform 解析时无法匹配后续的结束标记,直接触发无效表达式报错
  • heredoc 内部的 az 命令额外包裹了双引号,后续即使解决语法问题,bash 也会将带引号的整行内容识别为单个可执行文件,触发命令不存在的报错
  • 当前写法会保留命令前的缩进空格带入最终执行的脚本,建议使用 <<-EOT 缩进兼容写法,Terraform 会自动清除每行前的统一缩进,避免多余空格影响命令执行

修正后配置

resource "null_resource" "eg-role-assignment" {
  provisioner "local-exec" {
    interpreter = ["/bin/bash", "-c"]
    command = <<-EOT 
      az account set --subscription foo
      az eventgrid topic update --resource-group $RESOURCE_GROUP --name $EVENTGRID_NAME --identity systemassigned
    EOT

    environment = {
      RESOURCE_GROUP = "RG_${var.platform_tag}_${var.product_code}_PUBLISH_${var.environment}_${var.location_code_primary}"
      EVENTGRID_NAME = "EG-${var.platform_tag}-${var.product_code}-${var.environment}-${var.location_code_primary}-domain"
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:24:05