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

Kusto中如何将格式化datetime作为dynamic类型传入sql_request插件

报错原因

两个报错的根因分别是:

  • Kusto的dynamic({})字面量语法仅支持写入常量值,不支持直接引用外部通过let定义的变量,编辑器解析到变量名时无法识别为字面量合法内容,就会抛出expected '}'的语法错误。
  • 你当前调用sql_request仅传入了3个参数,部分环境的语法校验规则会要求显式传入第四个可选的配置项参数,否则会报参数数量不匹配的提示。
  • 额外冗余操作:用todynamic()包裹format_datetime()返回值没有必要,format_datetime本身返回标准字符串类型,不需要额外转动态类型。
正确传参方法
  • 构造带变量的dynamic类型参数字典时,不要用dynamic({})字面量写法,改用内置函数bag_pack()生成属性包,该函数支持直接传入变量作为键值对的值,返回结果就是标准dynamic类型,完全符合sql_request的参数要求。
  • 给sql_request补传第四个参数,没有特殊配置需求时直接传dynamic(null)即可,不会影响原有查询逻辑。
  • 如果SQL端的date字段是日期/时间类型,可以省略format_datetime转换步骤,直接传入原始的datetime类型值,插件会自动完成类型映射,避免SQL端隐式转换带来的性能问题。
修正后可运行代码
let start_time = format_datetime(startTs, 'yyyy-MM-dd');
let end_time = format_datetime(endTs, 'yyyy-MM-dd');
let query = 'select * from [db].[Table] where date > @param0 and date < @param1';
let result = evaluate sql_request(
    auth,
    query,
    bag_pack('param0', start_time, 'param1', end_time),
    dynamic(null)
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 00:39:44