Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Nachdem ein virtueller Computer erstellt wurde, können detaillierte Informationen dazu abgerufen werden. Der allgemeine Befehl zum Abrufen von Informationen aus einer Ressource ist show
.
az vm show --name $vmName --resource-group $resourceGroup
Ein virtueller Computer verfügt über viele Eigenschaften, die schwer visuell zu analysieren sind. Der zurückgegebene JSON-Code enthält Informationen zu Authentifizierung, Netzwerkschnittstellenspeicher und mehr. Am wichtigsten ist, dass sie die Azure-Objekt-IDs für Ressourcen enthält, mit denen der virtuelle Computer verbunden ist. Objekt-IDs ermöglichen den direkten Zugriff auf diese Ressourcen, um weitere Informationen über die Konfiguration und Funktionen des virtuellen Computers zu erhalten.
Um die Objekt-ID zu extrahieren, wird das --query
Argument verwendet. Abfragen werden in der JMESPath-Abfragesprache geschrieben. Beginnen Sie mit dem Abrufen der Netzwerkinterface-Controller-Objekt-ID (NIC).
az vm show --name $vmName \
--resource-group $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
--output tsv
Allein durch das Hinzufügen der Abfrage passiert hier viel. Jeder Teil davon verweist auf einen Schlüssel im Ausgabe-JSON oder ist ein JMESPath-Operator.
-
networkProfile
ist ein Schlüssel des obersten JSON-Levels, dernetworkInterfaces
als Unterschlüssel hat. Wenn ein JSON-Wert ein Wörterbuch ist, werden seine Schlüssel vom übergeordneten Schlüssel mit dem.
Operator referenziert. - Der
networkInterfaces
Wert ist ein Array, sodass er mit dem[]
Operator abgeflacht wird. Dieser Operator führt den Rest der Abfrage für jedes Arrayelement aus. In diesem Fall wird derid
Wert jedes Arrayelements abgerufen.
Das Ausgabeformat tsv
(tabstopptrennte Werte) enthält garantiert nur die Ergebnisdaten und Leerzeichen, die aus Registerkarten und Newlines bestehen.
Da der zurückgegebene Wert eine einfache Zeichenfolge ist, kann er sicher direkt einer Shell-Variable zugewiesen werden.
Weitere Informationen zum Abfragen der Azure CLI-Ausgabe finden Sie unter Abfragen der Azure CLI-Befehlsausgabe mithilfe einer JMESPath-Abfrage
Fahren Sie fort, und weisen Sie jetzt die NIC-Objekt-ID einer Shellvariable zu.
nicId=$(az vm show \
-n $vmName \
-g $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
-o tsv)
In diesem Beispiel wird auch die Verwendung von kurzen Argumenten veranschaulicht. Sie können -g
anstelle von --resource-group
, -n
anstelle von --name
und -o
anstelle von --output
verwenden.