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

KQL查询问题:如何将30分钟触发的Azure Function的StartTime对齐到触发整点

KQL datetime按30分钟对齐实现方案

你需要使用KQL内置的datetime_bin()函数实现时间向下取整对齐,该函数支持按指定时间间隔对datetime类型值做截断处理,完全匹配你的30分钟触发时间对齐需求。

修改后的完整KQL代码

MyKustoTable | where isnotempty(RunID) and RunID > 41
| project RunID, CollectionTime, IngestionTime = ingestion_time()-30m
| summarize StartTime = min(CollectionTime), EndTime = max(IngestionTime) by RunID
// 原第4行修改内容:先对齐StartTime到30分钟整点,再计算运行时长
| extend StartTime = datetime_bin(StartTime, 30m), RBACDurationInMins = (EndTime - StartTime)/1m
| extend ResourceType = "RBAC"
| project ResourceType, RunID, StartTime, EndTime, RBACDurationInMins
| sort by RunID desc

效果验证

datetime_bin(时间字段, 30m)的计算结果和你的示例要求完全一致:

  • 输入值2021-10-25 10:02:26.7630995,输出2021-10-25 10:00:00.0000000
  • 输入值2021-10-25 10:32:26.7630995,输出2021-10-25 10:30:00.0000000

如果你需要保留原有逻辑(仅当运行时长超过30分钟时才对齐StartTime),可将第4行替换为以下内容:

| extend StartTime = case((EndTime - StartTime)/1m > 30, datetime_bin(StartTime, 30m), StartTime), RBACDurationInMins = (EndTime - StartTime)/1m

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:24:03