在Azure Graph Explorer中用Kusto提取数组首个displayName键值对
在Azure Graph Explorer中提取数组首个对象的displayName值
问题描述
我在Azure中有一组标签数据,用Azure Graph Explorer解析时因键名重复,无法将数据转换为常规数组或JSON格式的列。我仅需要数组内第一个对象的displayName值,这些键名由Azure自动生成,无法修改,只能添加对应值。尝试过mv-expand命令,但执行后会产生重复行,希望直接获取首个键值对,或修改键名放入唯一列,最终目标结果为:
- displayName
- my-app-pr-mg
原始数据
[ { "displayName":"my-app-pr-mg", "name":"my-app-pr-mg" }, { "displayName":"my-app-mg", "name":"my-app-mg" }, { "displayName":"Tenant Root Group", "name":"1234-567889-8454353-43343" } ]
解决方案
方法1:直接提取首个元素的displayName
通过数组索引直接定位第一个元素(索引为0),避免使用mv-expand产生重复行:
// 替换YourTable为你的表名,Tags为存储该数组的列名 YourTable | project displayName = Tags[0].displayName
执行后会直接输出目标结果:
| displayName |
|---|
| my-app-pr-mg |
方法2:修改键名并生成唯一列
如果需要自定义列名,可将首个对象的displayName值存入命名列:
YourTable | extend FirstTagItem = Tags[0] | project 自定义列名 = FirstTagItem.displayName
这样就能将目标值放入自定义命名的唯一列中,同样不会产生重复行。
内容的提问来源于stack exchange,提问作者jtp64
相关产品推荐
相关产品推荐

