我正在尝试使用流分析将我的 Application Insights 导出读取到 SQL 表中。
这些是我试图捕获的自定义和指标事件,因此部分 JSON 是自定义或指标事件(例如 TestMethod1)的“名称”,JSON 如下所示:
{
"metric": [ ],
"internal":
.. host of other json data...
"context": {
"custom": {
"metrics":
[
{
"TestMethod1":
{
"value": 42.8207,
"count": 1.0,
"min": 42.8207,
"max": 42.8207,
"stdDev": 0.0
}
}
]
}
}
}
使用类似 Sql 的分析语言,我尝试使用类似于下面的语法将我的数据传输到 SQL 表(这仍然是我尝试各种方法和手段来实现这一点......)
SELECT A.internal.data.id as id
, dimensions.ArrayValue.EventName as eventName
, metrics.[value] as [value]
, A.context.data.eventTime as eventtime
, metrics.count as [count]
INTO
MetricsOutput
FROM AppMetrics A
CROSS APPLY GetElements(A.[context].[custom].[metrics[0]]) as metrics
CROSS APPLY GetElements(A.[context].[custom].[dimensions]) as dimensions
问题是,由于自定义事件名称,我的 [value] 和 [count] 列都没有被填充。目前我在metrics.value上收到错误“具有此类名称的列不存在”。
关于如何实现这一目标的任何想法?
我想为几种不同的方法输出我的指标和自定义事件,列名并不重要。但来自应用洞察导出的一个 blob 文件将包含 5 或 6 个不同的自定义事件和指标的事件。
因此,我可以拥有一个包含 TestMethod1、TestMethod2 和 TestMethod3 的 blob 文件,并希望将该文件解析到表中,而不必求助于代码和工作人员角色。
问候