Virtuális gépre vonatkozó adatok lekérdezése
Most, hogy a virtuális gép létrejött, lekérhetők a rá vonatkozó részletes adatok. Az információk erőforrásból való lekéréséhez használt általános parancs a show
.
az vm show --name $vmName --resource-group $resourceGroup
A virtuális gépek számos olyan tulajdonsággal rendelkeznek, amelyeket nehéz lehet vizuálisan elemezni. A visszaadott JSON információkat tartalmaz a hitelesítésről, a hálózati adapterek tárolásáról és egyebekről. Ami a legfontosabb: tartalmazza azon erőforrások Azure-objektumazonosítóit, amelyekhez a virtuális gép csatlakoztatva van. Az objektumazonosítók segítségével közvetlenül férhet hozzá ezekhez az erőforrásokhoz, és további adatokat kérhet le a virtuális gép konfigurációjáról és funkcióiról.
Az objektumazonosító kinyeréséhez a rendszer az --query
argumentumot használja. A lekérdezések JMESPath lekérdezési nyelveníródnak, kezdve a hálózati adapter (NIC) objektumazonosítójának lekérésével.
az vm show --name $vmName \
--resource-group $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
--output tsv
Már egy lekérdezés hozzáadásával is sok mindenre kell odafigyelni. Az egyes részek JMESPath operátorok, vagy a kimeneti JSON-fájlban lévő kulcsokra hivatkoznak.
- A
networkProfile
a legfelső szintű JSON kulcsa, melynek alkulcsa anetworkInterfaces
. Ha a JSON értéke egy szótár, akkor annak kulcsaira a.
operátorral hivatkoznak a szülőkulcsból. - Az
networkInterfaces
érték egy tömb, ezért az operátorral van összeolvadva[]
. Ez az operátor futtatja le a lekérdezés hátralévő részét az egyes tömbelemeken. Ebben az esetben az egyes tömbelemekid
értékét kéri le.
A tsv
(tabulátorral tagolt értékek) kimeneti formátum kizárólag az eredményül kapott adatokat, valamint a tabulátorokból és sortörésekből álló szóközöket tartalmazza.
Mivel a visszaadott érték egyetlen csupasz sztring, biztonságosan hozzárendelhető közvetlenül egy rendszerhéjváltozóhoz.
Az Azure CLI-kimenet lekérdezésével kapcsolatos további információkért tekintse meg az Azure CLI-parancs kimenetének JMESPath-lekérdezéssel történő lekérdezését ismertető témakört .
Most rendelje hozzá a hálózati adapter objektumazonosítóját egy rendszerhéjváltozóhoz.
nicId=$(az vm show \
-n $vmName \
-g $resourceGroup \
--query 'networkProfile.networkInterfaces[].id' \
-o tsv)
A példa a rövid argumentumok használatára is példaként szolgál. A --resource-group
helyett használhatja a -g
, a --name
helyett az -n
, az --output
helyett pedig az -o
értéket.