#azure #azure-cli #azure-vm #azure-cli2
Вопрос:
Я пытаюсь фильтровать экземпляры на основе тегов, но это дает мне все экземпляры, присутствующие в группе ресурсов. Мне нужно перечислить экземпляры, у которых есть определенный тег. Я использую приведенную ниже команду для перечисления экземпляров с wknhscale == 'active'
тегом, есть ли проблема с командой? Также есть ли какие-либо другие эффективные способы достижения этой цели?
az vm list --query '[?tags.wknhscale == 'active'].{Name:name, RG:resourceGroup}' -o table
Я ищу простой запрос для извлечения экземпляров с тегами, как в gcp
gcloud compute instances list --project test --filter='labels.wknhscale:active AND name ~ .*wkn*' --sort-by=creationTimestamp --format='value(name,zone)'
Комментарии:
1. Я бы настоятельно рекомендовал написать сценарий, который а) вызывает ваш запрос «список виртуальных машин az», а затем б) далее обрабатывает возвращенный текст. На самом деле, вы можете просто захотеть сделать все это в Powershell, который одновременно является «полнофункциональным языком сценариев» И API Azure. Но я не уверен, как далеко вы можете зайти, просто добавив параметры в свой запрос CLI…
2. У вас возникли какие-либо проблемы?
Ответ №1:
Я смог выполнить запрос с помощью запроса графика az. Спасибо, @azMantas
az graph query -q "Resources | where type =~ 'Microsoft.Compute/virtualMachines' | where tags['wknhscale']=='active' | where name startswith 'workernode' | project name | order by name asc" | jq '.data[].name'
Ответ №2:
Я бы рекомендовал использовать для этого диаграмму ресурсов Azure. График ресурсов позволяет запрашивать все ресурсы Azure (во всех подписках, к которым у вас есть доступ) с использованием языка Кусто либо в интерфейсе командной строки, либо на портале.
Комментарии:
1. Спасибо за ответ, не могу ли я добиться того же от
az vm list
запроса2. Спасибо за подсказку, я смог получить ее с помощью запроса azure graph