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

如何简化向dynamic对象添加值的操作?已用bag_merge求更优解

更简便的KQL动态对象字段添加方法
  • 方法1:直接在原对象上合并(无需额外变量)
    不用单独创建data2对象,直接在extend里把新字段打包后和原data合并,一步搞定:

    datatable (atime:datetime, d1:string) ["1/1/2025", "free"]
    | extend data = bag_pack("btime", atime, "d2", d1)
    | extend data = bag_merge(data, bag_pack("ctime", now()))
    
  • 方法2:用+运算符简化合并
    KQL中的dynamic字典类型支持用+直接合并,效果和bag_merge一致,写法更简洁:

    datatable (atime:datetime, d1:string) ["1/1/2025", "free"]
    | extend data = bag_pack("btime", atime, "d2", d1)
    | extend data = data + bag_pack("ctime", now())
    
  • 方法3:一次性打包所有字段(如果初始就确定所有字段)
    如果新增字段不需要依赖后续计算逻辑,可以在第一次bag_pack时就包含所有要添加的字段,省去后续合并步骤:

    datatable (atime:datetime, d1:string) ["1/1/2025", "free"]
    | extend data = bag_pack("btime", atime, "d2", d1, "ctime", now())
    

你之前尝试的extend | data.newColumn = "asdf"写法在KQL里行不通,因为KQL不支持直接通过.语法修改dynamic对象的字段,必须通过合并新键值对的方式实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 08:42:36