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

标签 azure azure-application-insights kql azure-monitoring kusto-explorer

我们正在使用 Azure 应用程序 Insights 进行错误日志记录。我是 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\"}]"
}

预期输出

<表类=“s-表”> <标题> 文件名 相关 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"]
<表类=“s-表”> <标题> 文件名 相关 ID 函数名称 代码 <正文> 示例文件1 e33a8d45-0566-4bf2-94f8-54a6fec29bff 示例函数 1 12345 示例文件1 e33a8d45-0566-4bf2-94f8-54a6fec29bff 示例函数2 12343

Fiddle

关于Azure 应用程序洞察 | KQL|包含对象数组的 customDimensions 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72436650/

相关文章:

azure 搜索解决 $skip 限制问题

sql-server - Azure SQL 数据库最快的备份/恢复策略?

c# - 如何将 Google Admin SDK 部署到 Azure 云服务

azure - 无法从应用程序见解导出完整日志信息

azure-data-explorer - Kusto 查询获取每个 Y 中的 X 和最大 Z

azure - 内存使用情况、CPU 时间、数据输出和文件系统存储如何应用于我的网站?

Azure AD B2C 自定义策略 + 应用程序洞察

Azure 应用程序见解采样 (ItemCount)

azure - 如何在 Azure 的日志查询编辑器中启用行号?

Azure Kusto 使用 KQL 创建数据库