如何在具有嵌套数据的 kusto/data 资源管理器中展开 JSON 数据?

How to I expand JSON data in kusto/data explorer that has nested data?

我正在尝试根据这篇 Microsoft 文章将 JSON 数组数据提取到 Azure 数据资源管理器中。 (仅 JSON 数组部分)https://docs.microsoft.com/en-us/azure/data-explorer/ingest-json-formats?tabs=kusto-query-language

我有一个 table 有两列 (messageId,Message) 消息包含 json 数据,我想将此数据提取到不同的列中。数组中的所有字段都是空白的。

在此处输入代码 { 'data': { 'type': 'ABC', 'id': '1234567890', 'attributes': { 'event': 'update', 'logged_at': '2021-06-03T15:41:22.000Z', 'heartbeat_id': '12345678', 'gps_valid': True, 'gps': { 'distance_diff': 0.22 , 'total_distance': 127.79 }, 'hdop': 12, 'fuel_level': 180.4, 'relative_position': { 'distance': '3', 'country_code': 'Uk' } },`

代码:AMO | mv-扩展数据 = message.data |扩展类型 = data.type, id = data.id` }

如果我理解正确的话,没有 property-bag/array 你需要扩展(使用 mv-expand),而是你可以直接 extend/project 你选择的属性,例如:

print message = dynamic({
    "data": {
        "type": "ABC",
        "id": "1234567890",
        "attributes": {
            "event": "update",
            "logged_at": "2021-06-03T15:41:22.000Z",
            "heartbeat_id": "12345678",
            "gps_valid": true,
            "gps": {
                "distance_diff": 0.22,
                "total_distance": 127.79
            },
            "hdop": 12,
            "fuel_level": 180.4,
            "relative_position": {
                "distance": "3",
                "country_code": "Uk"
            }
        }
    }
})
| project message.data.id, message.data.type
message_data_id message_data_type
1234567890 ABC