Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Nu u een virtuele machine hebt gemaakt, kunt u gedetailleerde informatie hierover ophalen. De algemene opdracht voor het ophalen van informatie uit een resource is show.
az vm show --name $vmName --resource-group $resourceGroup
Een virtuele machine heeft veel eigenschappen die visueel moeilijk te parseren kunnen zijn. De geretourneerde JSON bevat informatie over verificatie, netwerkinterfaceopslag en meer. Het belangrijkste is dat het de Azure-object-id's bevat voor resources waarmee de VIRTUELE machine is verbonden. Met object-id's krijgt u rechtstreeks toegang tot deze resources voor meer informatie over de configuratie en mogelijkheden van de VIRTUELE machine.
Om de object-id te extraheren, wordt het --query argument gebruikt. Query's worden geschreven in de JMESPath-querytaal. Begin met het ophalen van de object-id van de netwerkinterfacecontroller (NIC).
az vm show --name $vmName \
--resource-group $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
--output tsv
Er is hier veel aan de hand, gewoon door de query toe te voegen. Elk deel ervan verwijst naar een sleutel in de uitvoer-JSON of is een JMESPath-operator.
-
networkProfileis een sleutel van de JSON op het hoogste niveau, die als subsleutel heeftnetworkInterfaces. Als een JSON-waarde een woordenboek is, worden de sleutels ervan vanuit de bovenliggende sleutel met de.operator verwezen. - De
networkInterfaceswaarde is een matrix, dus deze wordt afgevlakt met de[]operator. Met deze operator wordt de rest van de query uitgevoerd op elk matrixelement. In dit geval wordt deidwaarde van elk matrixelement opgehaald.
De uitvoerindeling tsv (door tabs gescheiden waarden) bevat gegarandeerd alleen de resultaatgegevens en witruimte bestaande uit tabs en nieuwe regels. Omdat de geretourneerde waarde één lege tekenreeks is, is het veilig om rechtstreeks aan een shellvariabele toe te wijzen.
Voor meer informatie over het uitvoeren van query's op de uitvoer van Azure CLI, zie Hoe de uitvoer van Azure CLI-opdrachten te raadplegen met behulp van een JMESPath-query
Wijs nu de id van het NIC-object toe aan een shellvariabele.
nicId=$(az vm show \
-n $vmName \
-g $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
-o tsv)
In dit voorbeeld ziet u ook het gebruik van korte argumenten. U kunt -g in plaats van --resource-group gebruiken, -n in plaats van --name, en -o in plaats van --output.