在Kusto中​​将对象列表转换为表

时间:2019-09-10 14:12:03

标签: kusto azure-data-explorer

我试图在一个数据表单元格中获取json数据(以键-值对列表的形式),并将其转换为动态的排序表。

T
| where id == "xyz"
| project telem_obj

telem_obj单元格中的数据格式为

[   {     “ Value”:“ SomeKey01”,     “键”:“ 0”   },   {     “ Value”:“ SomeKey02”,     “键”:“ 1”   } ]

我的最终目标是获得表格的表格;

|Key         | Value |
|SomeValue01 | 0     |
|SomeValue02 | 1     |

我设法通过提取静态数据并从中创建可用数据来实现这一点。

print EnumVals = dynamic(
    [
      {
        "Value": "SomeKey01",
        "Key": "0"
      },
      {
        "Value": "SomeKey02",
        "Key": "1"
      }
    ]
)
| mvexpand EnumVals
| evaluate bag_unpack(EnumVals)

我不确定如何获取查询结果,从中提取此json对象列表并将其转换为新的动态表。我找不到适用于对象列表的任何示例。

1 个答案:

答案 0 :(得分:0)

一夜安眠后,我发现了怎么做

T
| take 1 
| mvexpand telem_obj
| evaluate bag_unpack(telem_obj)
| project Value, Key

我的错误是我试图在dynamic函数中强制执行实际查询。

print EnumVals = dynamic(
  T
  | where id == "xyz"
  | project telem_obj
)
| mvexpand EnumVals
| evaluate bag_unpack(EnumVals)