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

Terraform部署New Relic仪表板时变量语法报错求助

使用New Relic Terraform Provider时,仪表板变量在NRQL查询中引用失败的问题

我正在通过New Relic Terraform Provider生成动态仪表板,仪表板包含一个标签为domain的域名列表变量,需要在NRQL查询中引用该变量。在New Relic GUI中,使用{{ domain }}的语法可以正常运行,但通过Terraform部署时,虽然变量能正常创建并填充,查询中的{{ domain }}语法却触发NRQL语法错误。

错误信息

Error: query error; Invalid widget input with id 163128331: error parsing 'SELECT uniques(`client`) FROM Span WHERE `entity.name` = 'supergraph-prod' AND service = {{ domain }}'', please check nrql grammar.
│ Cause: Invalid nrql query.
│
│   with module.dashboard-federation.newrelic_one_dashboard.dashboard[0],
│   on .terraform/modules/dashboard-federation/dashboard/main.tf line 2, in resource "newrelic_one_dashboard" "dashboard":
│    2: resource "newrelic_one_dashboard" "dashboard" {

相关代码示例

动态部件创建器对象

{
      title       = "Consumers"
      widget_type = "widget_table"
      query       = "SELECT uniques(client) FROM Span WHERE `entity.name` = '${var.newrelic_app_name}' AND service = {{ domain }}'"
      row         = 1
      column      = 1
},

Terraform资源定义

resource "newrelic_one_dashboard" "dashboard" {
 dynamic "widget_table" {
        for_each = page.value.widget_table
        iterator = widget
        content {
          title                    = try(widget.value.title, widget.value.query)
          filter_current_dashboard = try(widget.value.filter_current_dashboard, false)
          row                      = try(widget.value.row, 0)
          column                   = try(widget.value.column, 0)
          width                    = try(widget.value.widget_width, 4)
          height                   = try(widget.value.widget_height, 3)

          nrql_query {
            query = widget.value.query
          }
        }
      }
}

解决方案

在Terraform中引用New Relic仪表板变量时,需要使用$变量名的语法替代GUI中的{{ 变量名 }}格式。修改后的查询语句如下:

query       = "SELECT uniques(client) FROM Span WHERE `entity.name` = '${var.newrelic_app_name}' AND service = $domain"

New Relic Terraform Provider对仪表板变量的引用规则与GUI不同,Provider要求用$前缀直接引用变量名,而非双大括号包裹的格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 01:12:20