Rendszerhéjváltozók beállítása PARANCSSOR-kimenetből
Most, hogy rendelkezik az NIC azonosítójával, futtassa az az network nic show
parancsot az adatainak a lekéréséhez. Itt nincs szükség erőforráscsoportra, mivel az erőforráscsoport neve az Azure-erőforrás-azonosítóban található.
az network nic show --ids $nicId
Ez a parancs a virtuális gép hálózati adapterével kapcsolatos összes adatot megjeleníti. Az adatok magukban foglalják a DNS-beállításokat, az IP-címmel kapcsolatos adatokat, a biztonsági beállításokat és a MAC-címet. Az alábbi lekérdezés bemutatja, hogyan szerezheti be a nyilvános IP-címet és az alhálózati objektumazonosítókat.
az network nic show --ids $nicId \
--query '{IP:ipConfigurations[].publicIPAddress.id, Subnet:ipConfigurations[].subnet.id}' \
-o json
{
"IP": [
"/subscriptions/.../resourceGroups/TutorialResources/providers/Microsoft.Network/publicIPAddresses/TutorialVM1PublicIP"
],
"Subnet": [
"/subscriptions/.../resourceGroups/TutorialResources/providers/Microsoft.Network/virtualNetworks/TutorialVM1VNET/subnets/TutorialVM1Subnet"
]
}
A parancs azon JSON-objektumokat jeleníti meg, amelyek a kinyert értékekre vonatkozóan egyedi kulcsokkal rendelkeznek („IP” és „Subnet”). Elképzelhető, hogy ez a kimeneti stílus nem igazán hasznos parancssori eszközök számára, de a felhasználók által könnyebben olvasható, és egyéni szkriptekkel is lehet használni.
Ha parancssori eszközöket szeretne használni, módosítsa a parancsot: távolítsa el az egyedi JSON-kulcsokat, és a kimenet legyen tsv
. A read
parancs feldolgozza ezt a kimenetstílust úgy, hogy az eredményeket több változóba tölti be. Mivel két érték jelenik meg külön sorokban, a read
parancselválasztót az üres sztringre kell állítani, nem pedig a nem újvonalas szóköz alapértelmezett értékére.
read -d '' ipId subnetId <<< $(az network nic show \
--ids $nicId \
--query '[ipConfigurations[].publicIPAddress.id, ipConfigurations[].subnet.id]' \
-o tsv)
Ha nem szeretné használni a Bash read
vagy a PowerShell -split
parancsot, az egyes változók külön-külön is beállíthatók.
$ipId = az network nic show --ids $nicId --query '[ipConfigurations[].publicIPAddress.id]' -o tsv
$subnetId = az network nic show --ids $nicId --query '[ipConfigurations[].subnet.id]' -o tsv
A nyilvános IP-objektumazonosítóval keresse meg a nyilvános IP-címet, és tárolja egy rendszerhéjváltozóban. Az alhálózat-azonosítóval bemutatható, hogyan kérdezhet le és tárolhat több értéket az Azure CLI-ben. Ezért az oktatóanyag többi részében nincs rá szükség.
vmIpAddress=$(az network public-ip show --ids $ipId \
--query ipAddress \
-o tsv)
Most már rendelkezik a virtuális gép IP-címével, amelyet egy felületváltozóban tárol. Ellenőrizze, hogy ugyanaz-e az érték, mint amellyel kezdetben kapcsolódott a virtuális géphez.
echo $vmIpAddress