如何在ADF数据流中查看替换变量后的Kusto查询输出?
ADF数据流调试:输出参数化Kusto完整查询的实用方法
方法1:数据流里加派生列输出查询文本
- 在Kusto数据源的上游,加个派生列转换
- 新建一列(比如叫
FullKustoQuery),用字符串拼接把所有参数和查询模板凑成完整语句,示例表达式:"let StartDate = datetime(" + $Dates.start + "); let EndDate = datetime(" + $Dates.end + "); YourTable | where HexCode == '" + $HexCode + "' and SubHexCode == '" + $SubHexCode + "' | summarize count() by bin(Timestamp, 1h)" - 把这个派生列的内容输出到接收器(比如Blob存储的文本文件、ADLS的日志文件夹),每次运行就能直接看到替换参数后的完整查询
方法2:用管道变量+数据流输出参数传递查询内容
- 先在管道里建个字符串类型的变量(比如
FinalKustoQuery) - 数据流里加个输出参数(字符串类型),把拼接好的完整查询赋值给这个参数
- ForEach活动里,跑完数据流后加个Set Variable活动,把数据流的输出参数值塞到管道变量里
- 最后可以加个Append Variable把内容攒到日志变量里,或者用Web/Log Analytics活动把查询写到日志系统,直接在管道运行日志里就能看
方法3:调试模式实时验证
- 打开数据流的调试模式,进到Kusto数据源设置页
- 查询编辑器里用参数插值后的表达式,点预览数据,既能看到查询结果,也能间接验证参数替换后的查询是否正确(要完整文本的话,还是结合前两种方法)
注意点
- 日期、字符串参数要注意格式:日期得用
datetime()包起来,字符串要加单引号,不然Kusto会报错 - 多语句查询要保证分号位置正确,和原查询结构一致
内容的提问来源于stack exchange,提问作者Guilherme Matheus
相关产品推荐
相关产品推荐

