Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Agora que você criou uma VM, informações detalhadas sobre ela podem ser recuperadas. O comando comum para obter informações de um recurso é show.
az vm show --name $vmName --resource-group $resourceGroup
Uma máquina virtual tem muitas propriedades que podem ser difíceis de analisar visualmente. O JSON retornado contém informações sobre autenticação, armazenamento de interface de rede e muito mais. Mais importante, ele contém as IDs de objeto do Azure para recursos aos quais a VM está conectada. As IDs de objeto permitem acessar esses recursos diretamente para obter mais informações sobre a configuração e os recursos da VM.
Para extrair o ID do objeto, o --query argumento é usado. As consultas são escritas na linguagem de consulta JMESPath. Comece com a obtenção da ID do objeto do controlador de interface de rede (NIC).
az vm show --name $vmName \
--resource-group $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
--output tsv
Basta adicionar a consulta para que muita coisa aconteça aqui. Cada parte dele faz referência a uma chave no JSON de saída ou é um operador JMESPath.
-
networkProfileé uma chave do JSON de nível superior, que temnetworkInterfacescomo subchave. Se um valor JSON for um dicionário, as suas chaves são referenciadas a partir da chave-mãe com o operador.. - O
networkInterfacesvalor é uma matriz, por isso é nivelado com o[]operador. Este operador executa o restante da consulta em cada elemento da matriz. Nesse caso, ele obtém oidvalor de cada elemento de matriz.
Garante-se que o formato tsv de saída (valores separados por tabulações) inclua apenas os dados de resultado e espaços em branco que consistem em tabulações e novas linhas. Como o valor retornado é uma única cadeia de caracteres nua, é seguro atribuir diretamente a uma variável de shell.
Para obter mais informações sobre como consultar a saída da CLI do Azure, consulte Como consultar a saída do comando da CLI do Azure usando uma consulta JMESPath
Vá em frente e atribua o ID do objeto NIC a uma variável de shell agora.
nicId=$(az vm show \
-n $vmName \
-g $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
-o tsv)
Este exemplo também demonstra o uso de argumentos curtos. Você pode usar -g em vez de --resource-group, -n em vez de --name, e -o em vez de --output.