如何在不显式指定名称的情况下将JSON键值对投影到列

时间:2018-12-01 16:14:50

标签: azure analytics azure-application-insights ms-app-analytics kusto

customDimensions中,我有x个键值对数据(目前在下面的屏幕快照中仅以两个NameChannel为例)

enter image description here

,而我想将它们投影到列中,而无需明确指定键的名称,以便将来,如果将新的键值对添加到日志中,必须返回并修改我的查询才能将其显示为新列。

enter image description here

谢谢!

1 个答案:

答案 0 :(得分:2)

Kusto查询语言包括bag_unpack()插件:https://docs.microsoft.com/en-us/azure/kusto/query/bag-unpackplugin

这是一个例子:

datatable(anotherColumn:int, customDimensions:dynamic)
[
    1, dynamic({"Name":"mfdg",  "Channel":"wer"}),
    2, dynamic({"Name":"mfdg2", "Channel":"wer2"}),
    3, dynamic({"NotAName":2.22, "NotAChannel":7}),
]
| evaluate bag_unpack(customDimensions)

哪种产量:

| anotherColumn | Name  | Channel | NotAName | NotAChannel |
|---------------|-------|---------|----------|-------------|
| 1             | mfdg  | wer     |          |             |
| 2             | mfdg2 | wer2    |          |             |
| 3             |       |         | 2.22     | 7           |