首页 > 解决方案 > Kusto 如何使用带时间跨度的比较运算符

问题描述

我需要编写一个查询来查看超过 15 天的结果。我有这段代码,我在其中获取时间跨度格式(15.04:01:02)的 avg_duration。我现在想根据 avg_duration 进行过滤,只返回超过 15 天的结果。

| summarize arg_max(TimeGenerated, *) by ResourceId, RecommendationId, Severity
| order by RecommendationId asc, TimeGenerated asc
| extend duration = iff(RecommendationId == prev(RecommendationId), TimeGenerated - prev(TimeGenerated), 0s)
| summarize avg(duration) by ResourceId, RecommendationId, Severity
| where avg_duration >= "15.0:0:0"

当我在 log Analytics 中运行它时,我收到错误“无法比较时间跨度和 long 类型的值。尝试添加显式强制转换”。有什么想法可以过滤时间跨度吗?

标签: azureazure-data-explorerkql

解决方案


代替:

| where avg_duration >= "15.0:0:0"

你应该写

| where avg_duration >= 15d// 注意15d代表 15 天

在此处查看有关如何编写时间跨度文字的更多详细信息。


推荐阅读