如何在Azure Monitor笔记本中通过参数选择Log Analytics工作区
实现方案
1. 配置正确的工作簿参数
- 进入Azure Monitor工作簿编辑模式,添加新参数:
- 参数名称可自定义,例如
TargetWorkspace - 参数类型选择「资源」
- 勾选「必需」,选择模式设为「单选」
- 资源类型仅勾选「Log Analytics 工作区」,可按需限定可选的订阅范围
- 参数名称可自定义,例如
- 保存参数配置
2. 直接在查询中引用参数
注意不要将参数赋值给let定义的变量再传入workspace()函数,工作簿会在查询提交到Kusto引擎执行前,自动将参数占位符替换为对应工作区的字符串字面量,直接使用即可:
let event_table = workspace({TargetWorkspace}).Event; event_table | take 5
错误原因说明
workspace()、app()这类跨资源查询函数的入参要求必须是编译阶段可识别的字符串字面量,不支持传入查询运行时才解析的变量(即let语句定义的变量)。之前的写法将参数赋值给了let变量,导致workspace()的入参变成了运行时变量,不符合语法要求因此报错。
如果需要同时查询多个工作区,只需将参数设置为允许多选,无需修改查询语法,引擎会自动处理多工作区的联合查询逻辑。
内容的提问来源于stack exchange,提问作者user3642374
相关产品推荐
相关产品推荐

