Эквивалент понимания списка в Кусто

Недавно я начал использовать Azure Resource Graph Explorer для получения информации о ресурсах. KQL - это новая вещь, которую я выясняю по ходу дела, и одна из проблем, с которой мне нужна помощь, - это средство преобразования массива словарей в простой массив строковых значений. В качестве примера:

Рассмотрим следующие данные

      {
  "customerId": "201",
  "orders": [
    {
      "dept": "/packaging/fruits"
    },
    {
      "dept": "/packaging/vegetables"
    }
  ]
}

Со следующим запросом:

      Customers
| where customerId == 201
| project customerId, orders

Результат будет следующим:

У меня вопрос: как изменить запрос, чтобы получить следующий результат:

Пытался просмотреть документацию KQL, но, похоже, не нашел правильный метод для достижения вышеуказанного. Любая помощь приветствуется!

1 ответ

в Кусто вы можете использовать mv-apply:

      datatable(customerId:int, orders:dynamic)
[
  201, dynamic([
    {
      "dept": "/packaging/fruits"
    },
    {
      "dept": "/packaging/vegetables"
    }
  ]),
  201, 
  dynamic([
    {
      "dept": "/packaging2/fruits2"
    },
    {
      "dept": "/packaging2/vegetables2"
    }
  ])
]
| where customerId == 201
| mv-apply orders on (
    summarize orders = make_list(orders.dept)
)
Другие вопросы по тегам