繁体   English   中英

Azure 应用程序洞察 | 昆仑 | 包含对象数组的 customDimensions 列

[英]Azure Application Insights | KQL | customDimensions column containing array of objects

我们使用 Azure 应用程序洞察来记录错误。 我是 KQL 的新手,并尝试从以下格式的内置“customDimensions”列中获取自定义属性,

来自“customDimensions”列的值

exceptions
| project customDimensions


{
"File Name":"Sample File 1",
"Correlation ID":"e33a8d45-1234-1234-1223-54a6fec30356",
"Error List":"[
{\"Function Name\":\"Sample Function 1\",\"Code\":\"12345\"},
{\"Function Name\":\"Sample-Function-2\",\"Code\":\"12343\"}]"
}

预期产出

文件名 相关 ID 函数名称 代码
样本文件 1 e33a8d45-1234-1234-1223-54a6fec30356 示例功能 1 12345
样本文件 1 e33a8d45-1234-1234-1223-54a6fec30356 样本函数 2 12343

如何使用 KQL 实现上述输出?

谢谢你。

这可能看起来有点棘手,但请耐心等待:-)

  • 从动态元素中提取的每个子元素都是动态的。
  • parse_json() / todynamic()当给定一个动态参数时,按原样返回它。
    因此,首先,我们使用tostring() ,然后才使用 todynamic(),因此字符串将被解析为 json,为动态类型。

datatable(ErrorDetails:dynamic)
[
    dynamic({
        "File Name":"Sample File 1",
        "Correlation ID":"e33a8d45-0566-4bf2-94f8-54a6fec29bff",
        "Error List":"[{\"Function Name\":\"Sample Function 1\",\"Code\":\"12345\"},{\"Function Name\":\"Sample-Function-2\",\"Code\":\"12343\"}]"
    })
]
| mv-expand EL = todynamic(tostring(ErrorDetails["Error List"]))
| project ["File Name"] = ErrorDetails["File Name"], ["Correlation ID"] = ErrorDetails["Correlation ID"], ["Function Name"] = EL["Function Name"], ["Code"] = EL["Code"]
文件名 相关 ID 函数名称 代码
样本文件 1 e33a8d45-0566-4bf2-94f8-54a6fec29bff 示例功能 1 12345
样本文件 1 e33a8d45-0566-4bf2-94f8-54a6fec29bff 样本函数 2 12343

小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM