如何向Kusto原生函数传递多组动态参数?(禁用range/dynamic函数)
Kusto原生函数多组参数传递方案(禁用range/dynamic时)
针对你的场景,有两种可行的方案,完全避开range和dynamic函数限制:
方案1:用datatable定义参数组合,批量调用函数
适合参数组数量较多的情况,便于统一维护参数列表:
// 硬编码固定参数 let FixedStartTime = datetime(2024-01-01 00:00:00); let FixedEndTime = datetime(2024-01-02 00:00:00); let FixedThreshold = 100; // 枚举所有需要传递的参数组合 let paramGroups = datatable(AccName:string, RG:string, Sub:string) [ "acc1", "rg1", "sub1", "acc2", "rg2", "sub2" ]; // 对每组参数调用原生函数 // 如果函数返回标量值,用extend paramGroups | extend functionResult = myNativeFunc(AccName, RG, Sub, FixedStartTime, FixedEndTime, FixedThreshold) | project AccName, RG, Sub, functionResult // 如果函数返回表类型,改用invoke操作符: // paramGroups // | invoke myNativeFunc(AccName, RG, Sub, FixedStartTime, FixedEndTime, FixedThreshold)
方案2:手动多次调用函数,用union合并结果
适合参数组数量较少的情况,写法直接:
// 硬编码固定参数,分别调用函数后合并结果 myNativeFunc("acc1", "rg1", "sub1", datetime(2024-01-01 00:00:00), datetime(2024-01-02 00:00:00), 100) | union myNativeFunc("acc2", "rg2", "sub2", datetime(2024-01-01 00:00:00), datetime(2024-01-02 00:00:00), 100)
两种方案都不需要用到range或dynamic函数,完全符合你的限制要求。
内容的提问来源于stack exchange,提问作者Amrita Mitra
相关产品推荐
相关产品推荐

