KQL如何将字典数组转为字符串数组?Azure Resource Graph查询求助
解决方案
你可以通过KQL提供的array_map函数直接处理动态数组,一行代码就能实现提取指定字段生成新数组的需求,查询写法如下:
Customers | where customerId == 201 | project customerId, orders = array_map(d => d.dept, orders)
说明
array_map是KQL提供的数组遍历处理函数,第一个参数为lambda表达式,第二个参数为待处理的数组- 示例中lambda表达式
d => d.dept表示遍历orders数组的每一个元素d,提取其dept属性值 - 函数最终返回的就是所有
dept值组成的字符串数组,无需额外的展开、聚合操作,性能更高写法更简洁
如果你的运行环境不支持array_map函数,也可以使用mv-apply展开后再聚合的方式实现,写法如下:
Customers | where customerId == 201 | project customerId, orders | mv-apply orders on ( project dept = orders.dept | summarize orders = make_list(dept) )
内容的提问来源于stack exchange,提问作者Teo Nicholas
相关产品推荐
相关产品推荐

