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

如何在Kusto中定义变量存储查询结果并关联查询traces?

你的Kusto变量定义与关联查询方案修正

你的思路完全没问题——在Kusto里用let变量存储中间查询结果,再基于这个结果做后续关联分析,是非常高效且易读的写法。不过你当前的代码存在几个语法小问题,导致无法正常运行,我帮你修正并解释一下:

原代码的问题点

  • 定义dataset的语句末尾多了个traces,这属于语法错误,project子句结束后不需要额外添加表名,会干扰变量的正确赋值。
  • 关联查询的格式不够规范,join的写法需要更清晰的结构。

修正后的完整代码

let start=datetime("2020-10-07T15:01:00.000Z");
let end=datetime("2020-10-09T13:20:00.000Z");
let timeGrain=1h;
// 先筛选出符合条件的失败HTTP依赖调用,仅保留关联需要的operation_ParentId
let dataset = dependencies 
    | where timestamp > start and timestamp < end 
    | where ['type'] == 'HTTP' and success == false 
    | where name contains "mgw/capture" 
    | project operation_ParentId;
// 基于dataset中的operation_ParentId,关联查询对应的traces数据
traces
| join kind=inner (dataset) on operation_ParentId
// 这里可以根据需求添加project子句,筛选你需要的字段
// | project timestamp, operation_Name, message, operation_ParentId

修正说明

  1. 首先修正了dataset的定义:移除了末尾多余的traces,确保变量正确存储了筛选后的依赖数据,只保留用于关联的operation_ParentId字段。
  2. 单独拆分出traces的查询逻辑,用inner join和dataset做关联,这样结构更清晰,也符合Kusto的语法规范。
  3. 如果你需要查看更多字段,可以在join之后添加project子句,指定你想要展示的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 13:37:58