azure-application-insights - Kusto 查询,如何保存查询结果并稍后使用
问题描述
在 App Insight 中,如何编写将查询结果保存到变量中的 KQL,并稍后在第二个查询中使用该变量?
例如,查找事件发生时的时间戳:
let incidentTime = traces
| where message = "UNIQUE IDENTIFIER"
| limit 1
稍后在第二次查询中使用此时间戳以在事件发生时查找附近的痕迹
traces
| where timestamp between (datetime_diff('minute', -1, incidentTime)..incidentTime)
第二个查询给了我一个错误,基本上说无法从事件时间中检索标量值。
如何从incidentTime 中读取值并将其放入第二个查询中?
解决方案
你可以使用toscalar()
和around()
:
- https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/toscalarfunction
- https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/around-function
例如:
let incidentTime = toscalar(
traces
| where message = "UNIQUE IDENTIFIER"
| project timestamp
| limit 1
);
traces
| where around(timestamp, incidentTime, 1m)
同样,如果您想对多个列执行此操作:
let params = toscalar(
traces
| where message = "UNIQUE IDENTIFIER"
| project pack_array(timestamp, username)
| limit 1
);
traces
| where around(timestamp, todatetime(params[0]), 1m)
| where username == tostring(params[1])
推荐阅读
- asterisk - 使用 MRTG 监控星号呼叫
- javascript - 未启动 onclick 操作“参数列表后未捕获的 SyntaxError:缺少)”
- sql - 在表之间创建约束
- angular - Angular9 debugElement.classes['my-class'] 现在返回 undefined
- ios - sceneView.delegate 和 sceneView.session.delegate 有什么区别?
- reactjs - 如何测试使用 React Hooks useHistory hook 和 Enzyme 的 React 组件?
- javascript - AddEventListener 到 svg 文件,而不是使其可点击的按钮
- multithreading - Allure 支持运行线程测试
- php - 无法在存档页面上显示侧边栏(Wordpress、Elementor Pro+GeneratePress)
- android - 重新启用定位服务