你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

KQL 快速参考

适用于:✅Azure 数据资源管理器Azure Monitor✅ Sentinel

本文介绍函数列表及其说明,帮助你开始使用 Kusto 查询语言。

运算符/函数 Description Syntax
筛选/搜索/条件 通过筛选或搜索查找相关数据
哪里 特定谓词的筛选器 T | where Predicate
其中包含/具有 Contains:查找任何子字符串匹配
Has:查找特定单词(性能更佳)
T | where col1 contains/has "[search term]"
搜索 在表格的所有列中搜索值 [TabularSource |] search [kind=CaseSensitivity] [in (TableSources)] SearchPredicate
返回指定的记录数。 用于测试查询
注意takelimit 同义词。
T | take NumberOfRows
案例 添加条件语句,类似于其他系统中的 if/then/elseif。 case(predicate_1, then_1, predicate_2, then_2, predicate_3, then_3, else)
distinct 生成具有输入表提供列的不同组合的表 distinct [ColumnName], [ColumnName]
日期/时间 使用日期和时间函数的操作
返回相对于查询执行时间的时间偏移量。 例如, ago(1h) 在当前时钟的读取前一小时。 ago(a_timespan)
format_datetime 各种日期格式返回数据。 format_datetime(datetime , format)
文件夹 将时间范围内的所有值进行舍入并进行分组 bin(value,roundTo)
创建/删除列 添加或删除表中的列
print 输出具有一个或多个标量表达式的单个行 print [ColumnName =] ScalarExpression [',' ...]
项目 选择在指定顺序中要包含的列 T | project ColumnName [= Expression] [, ...]

T | project [ColumnName | (ColumnName[,]) =] Expression [, ...]
project-away 选择要从输出中排除的列 T | project-away ColumnNameOrPattern [, ...]
project-keep 选择要保留在输出中的列 T | project-keep ColumnNameOrPattern [, ...]
project-rename 重命名结果输出中的列 T | project-rename new_column_name = column_name
项目重新排序 对结果输出中的列重新排序 T | project-reorder Col2, Col1, Col* asc
extend 创建计算列并将其添加到结果集中 T | extend [ColumnName | (ColumnName[, ...]) =] Expression [, ...]
排序和聚合数据集 通过以有意义的方式对数据进行排序或分组来重构数据
“sort” 运算符 按一列或多列按升序或降序对输入表的行进行排序 T | sort by expression1 [asc|desc], expression2 [asc|desc], …
top 当通过 by 对数据集进行排序时,返回数据集的前 N 行 T | top numberOfRows by expression [asc|desc] [nulls first|last]
总结 根据分组列对 by 行进行分组,并对每个组进行聚合计算。 T | summarize [[Column =] Aggregation [, ...]] [by [Column =] GroupExpression [, ...]]
count 对输入表中的记录进行计数(例如 T)
此运算符是 summarize count() 的简写。
T | count
加入 通过匹配每个表中的指定列的值,合并两个表的行以形成一个新表。 支持各种联接类型:fullouter、、innerinneruniqueleftantileftantisemileftouter、、 leftsemirightantirightantisemirightouterrightsemi LeftTable | join [JoinParameters] ( RightTable ) on Attributes
工会 从两个或多个表中提取数据并返回所有行 [T1] | union [T2], [T3], …
range 生成具有算术序列值的表 range columnName from start to stop step step
格式化数据 以有用的方式重构数据以输出
查找 使用维度表中查找的值扩展事实数据表的列 T1 | lookup [kind = (leftouter|inner)] ( T2 ) on Attributes
mv-expand 将动态数组转换为行(多值扩展) T | mv-expand Column
parse 计算字符串表达式并将其值分析为一个或多个计算列。 用于构建非结构化数据。 T | parse [kind=regex [flags=regex_flags] |simple|relaxed] Expression with * (StringConstant ColumnName [: ColumnType]) *...
make-series 沿指定轴创建一系列指定的聚合值 T | make-series [MakeSeriesParamters] [Column =] Aggregation [default = DefaultValue] [, ...] on AxisColumn from start to end step step [by [Column =] GroupExpression [, ...]]
将名称绑定到可引用其绑定值的表达式。 值可以是 lambda 表达式,用于创建查询定义的函数作为查询的一部分。 使用 let 创建表达式,以便在表上生成类似于新表的结果。 let Name = ScalarExpression | TabularExpression | FunctionDefinitionExpression
常规 其他操作和函数
调用 在作为输入接收的表上运行函数。 T | invoke function([param1, param2])
evaluate pluginName 评估查询语言扩展(插件) [T |] evaluate [ evaluateParameters ] PluginName ( [PluginArg1 [, PluginArg2]... )
可视化 以图形格式显示数据的操作
渲染 将结果呈现为图形输出 T | render Visualization [with (PropertyName = PropertyValue [, ...] )]