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

Terraform导入多JSON文件创建Google监控仪表板报错求助

问题分析与修复

错误原因

google_monitoring_dashboard的dashboard_json属性要求传入JSON格式的字符串,你的代码存在两个核心问题:

  1. 错误地将整个local.json_data(包含解码后JSON对象的映射)赋值给dashboard_json,而非单个文件的JSON字符串
  2. 提前用jsondecode把文件内容转成了Terraform对象,违背了dashboard_json对输入类型的要求

修复后的代码

locals{
  json_files = fileset(path.module, "dash/*.json")
  dashboard_data = {
    for file_path in local.json_files : file_path => file(file_path)
  }
}

resource "google_monitoring_dashboard" "dashboards" {
  for_each = local.dashboard_data
  project  = var.monitoring_project
  dashboard_json = each.value
}

关键调整说明

  • 移除jsondecode:直接用file()读取JSON文件的原始字符串内容,完全匹配dashboard_json的类型要求
  • 使用each.value绑定当前实例的JSON内容:通过for_each遍历dashboard_data映射时,每个资源实例对应一个JSON文件,each.value就是该文件的JSON字符串内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:10:43