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

Bicep多行字符串插值失效,工作簿提示参数未赋值求助

解决Bicep插入变量到多行字符串的参数未赋值问题

问题根源

你之前的写法存在两个核心问题:

  • 手动添加\r\n的单引号多行字符串易出现转义错误,导致最终生成的KQL查询格式异常
  • 在JSON字段中再次用"${sourceQuery1}"包裹变量,引发双重插值冲突,导致工作簿无法正确识别自身参数{SyncTableRowId}

修正方案

1. 用Bicep Heredoc语法定义KQL查询

Heredoc语法("""包裹)支持直接编写多行文本,自动处理换行,同时精准区分Bicep变量插值和工作簿自有参数:

param sourceDataCloudRoleName string
param sourceDataOperationName string

var sourceQuery1 = """
traces
| extend prop_syncTableRowIds_array = parse_json(customDimensions.prop__syncRowIds)
| mv-expand prop_syncRowIds_array
| where tostring(prop_syncTableRowIds_array) contains {SyncTableRowId}
| where cloud_RoleName =~ "${sourceDataCloudRoleName}" and operation_Name =~ "${sourceDataOperationName}"
"""

2. 直接在JSON结构中引用Bicep变量

无需在JSON的query字段中再次用字符串插值包裹变量,直接引用即可:

{
  "type": 3,
  "content": {
    "version": "KqlItem/1.0",
    "query": sourceQuery1,
    "size": 0,
    "title": "Search by \"SyncRowId\"",
    "timeContextFromParameter": "TimeRange",
    "queryType": 0,
    "resourceType": "microsoft.insights/components"
  },
  "name": "query - 1"
}

关键说明

  • Heredoc语法自动保留文本格式,无需手动添加\r\n,彻底避免转义错误
  • Bicep会自动替换${sourceDataCloudRoleName}和${sourceDataOperationName}的值,同时完整保留工作簿的{SyncTableRowId}参数,确保工作簿运行时能正常识别并使用该参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 00:26:17