Как узнать длину массива результатов в Azure CLI через JMESPath?

Я пытаюсь изучить результаты json из команды Azure CLI с помощью переключателя --query (например, az functionapp list --query <something>), и для начала мне нужна длина результирующего массива.

Справка Azure CLI не говорит ничего конкретного и указывает на jmespath.org, который действительно показывает, что функция длины существует, однако, похоже, для нее требуется аргумент. У меня нет имени для аргумента, который является корневым / самым внешним массивом, возвращаемым командой list.

Из jmespath.org кажется, что length(something) - это то, что я хочу, но я не знаю, что добавить для чего-то. Что я сюда положил? Или я все неправильно делаю ??


person basic_one    schedule 23.10.2020    source источник


Ответы (1)


Как мы знаем, az functionapp list возвращает json, где корневой узел является массивом. Чтобы получить длину этого массива, мы можем использовать следующий синтаксис:

az functionapp list --query "[] | length(@)"

person Ervin Szilagyi    schedule 23.10.2020
comment
Ух ты! Похоже, мне нужно как-то вникнуть в это мышление jmespath ... - person basic_one; 24.10.2020