如何用KQL在Azure Application Insights中更新并展示请求体时间戳
修改请求体时间戳的KQL查询方案
可以通过以下步骤实现将请求体中的insertionTime增加2小时,并输出更新后的请求体:
requests | where url contains "/get" | extend requestBody = parse_json(customDimensions["Request-Body"]) // 将原时间戳转为datetime类型,增加2小时后转回字符串格式 | extend updatedInsertionTime = format_datetime(datetime(requestBody.insertionTime) + 2h, "yyyy-MM-ddTHH:mm:ss.fffffffZ") // 替换请求体中的原时间戳为更新后的时间 | extend updatedRequestBody = bag_merge(requestBody, dynamic({"insertionTime": updatedInsertionTime})) // 输出更新后的请求体 | project updatedRequestBody
关键步骤说明:
datetime(requestBody.insertionTime):把原字符串格式的时间戳转成KQL可运算的datetime类型。+ 2h:为时间戳增加2小时,如需调整时长,可替换为1d(1天)、30m(30分钟)等单位。format_datetime(..., "yyyy-MM-ddTHH:mm:ss.fffffffZ"):将运算后的datetime转回和原格式一致的字符串,确保请求体符合API调用要求。bag_merge(requestBody, dynamic({"insertionTime": updatedInsertionTime})):合并原请求体与更新后的时间戳字段,完成字段替换。
如果原时间戳格式不是标准ISO8601,需要调整format_datetime里的格式字符串,匹配原时间的格式。
内容的提问来源于stack exchange,提问作者Anand Varkey Philips
相关产品推荐
相关产品推荐

