Эквивалент понимания списка в Кусто
Недавно я начал использовать 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)
)