有没有办法使用 KQL 更新和显示 Azure 应用程序洞察请求正文中的字段?

问题描述 投票:0回答:2

请求正文:

{
name: "SomeName",
insertionTime: "timeInUtc"
}

查询:

requests 
| where url contains "/get"
| extend requestBody = parse_json(customDimensions["Request-Body"]) 
| project requestBody

我想在结果表中显示带有更新时间戳的请求正文。像时间戳加上 2 小时。

我想使用带有新戳记的请求正文,以便我可以针对失败的请求使用新的时间戳再次重试相同的请求。我正在尝试为请求正文中带有新时间戳的失败 api 调用构建一些自动化。

azure azure-application-insights kql
2个回答
0
投票

(假设你知道你当然不能更新表中实际存储的数据)。

在您的查询中,您可以进行任何您喜欢的数学运算:

requests 
| where url contains "/get"
| extend requestBody = parse_json(customDimensions["Request-Body"]) 
| project SalaryExtended=toint(requestBody.salary)
| extend IncreasedSalary=SalaryExtended+100

0
投票

在结果表中显示带有更新时间戳的请求正文。比如时间戳加上 2 小时:

您可以使用下面的 kql 查询来达到预期的结果。

requests 
| where url contains "/get"
| extend requestBody = parse_json(customDimensions["Request-Body"]) 
| extend latestTimestamp = datetime_add('hour', 2, todatetime(requestBody.insertionTime))
| extend newinsertiontime = tostring(latestTimestamp)
| project newinsertiontime

由于我在给定的时间戳中没有任何结果,所以我得到了低于预期的输出。

enter image description here

您可以使用 pack_array 将所有结果与给定 MSDoc 中详述的名称、插入时间以及新插入时间结合起来。

© www.soinside.com 2019 - 2024. All rights reserved.