首页 > 解决方案 > 如何在 kusto sql 中选择 json

问题描述

我想使用 kusto sql 在 azure 数据库中选择 json 数据。看看它的数据。

在此处输入图像描述

实体列中的数据。它看起来像 json 类型。但是使用 [,] 我不知道为什么使用 [,].... 不仅是 {,}..

我想在一般 sql 类型中像这样选择..(从 SecurityAlert 中选择 id、主机名、osfamily ....)

所以,我试过这样......

SecurityAlert
| extend d=parse_json(Entities) 
| extend Entities=d.$id, id=d["$id"]

标签: azure-data-explorerazure-sentinel

解决方案


数据在 json 数组中,因此您需要使用mv-expand运算符“扩展”该数组。之后,您可以像使用点“。”一样访问它。符号。

这是一个例子:

let SecurityAlerts = datatable(Entities:dynamic) [dynamic([{"$id":"4", "hostName":"a2"}, {"$id":"5", "hostName":"a3"}])];
SecurityAlerts 
| mv-expand Entities
| extend id = Entities.['$id'], hostName = Entities.hostName

结果: 在此处输入图像描述


推荐阅读