Megosztás a következőn keresztül:


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