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

Azure Sentinel中调用已保存KQL函数时出现参数错误的问题求助

Azure Sentinel中调用已保存KQL函数时出现参数错误的问题求助

各位大佬好,我最近在Azure Sentinel里折腾KQL函数的时候碰到个头疼的问题,想请大家帮忙看看:

我写了个给指定表的a列追加字符串的函数,当我用let语句把函数内联在查询前面的时候,运行完全正常:

内联函数的写法搭配查询一起跑毫无问题:

let append_to_column_a=(T:(a:string), what:string) {
    T | extend a=strcat(a, " ", what);
};
datatable (a:string) ["sad", "really", "sad"]
| invoke append_to_column_a(":-)")

但是当我把这个函数保存成Azure Sentinel里的已保存函数之后,再用同样的查询语句调用:

datatable (a:string) ["sad", "really", "sad"]
| invoke append_to_column_a(":-)")

就直接报错了:

append_to_column_a(): argument #1 must be a scalar expression

我反复核对了已保存函数的参数定义,和let里的是完全一致的——第一个参数是带a:string列的表类型,第二个是字符串类型。而且我试了好几个类似的例子,只要是用let定义的内联函数都能正常工作,可一旦存成已保存函数就触发这个参数错误。

我实在搞不懂哪里出问题了,明明逻辑是一样的啊...有没有大佬碰到过类似的情况,或者能帮我找找问题所在?

备注:内容来源于stack exchange,提问作者Jason

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.15 12:39:34