Nastavení proměnných prostředí z výstupu rozhraní příkazového řádku
Když teď máte ID NIC, spuštěním příkazu az network nic show
o něm získejte informace. Tady nepotřebujete skupinu prostředků, protože název skupiny prostředků je obsažený v ID prostředku Azure.
az network nic show --ids $nicId
Tento příkaz zobrazí všechny informace o síťovém rozhraní virtuálního počítače. Tato data zahrnují nastavení DNS, informace o IP adrese, nastavení zabezpečení a adresu MAC. Následující dotaz ukazuje, jak získat ID objektů veřejné IP adresy a podsítě.
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"
]
}
Tento příkaz zobrazí objekt JSON s vlastními klíči (IP a Subnet) pro extrahované hodnoty. Přestože tento styl výstupu nemusí být užitečný pro nástroje příkazového řádku, je přehlednější pro člověka a dá se použít ve vlastních skriptech.
Pokud chcete použít nástroje příkazového řádku, změňte příkaz tak, aby se odebraly vlastní klíče JSON a výstup byl ve formátu tsv
. Příkaz read
tento styl výstupu zpracuje načtením výsledků do více proměnných. Vzhledem k tomu, že se na samostatných řádcích zobrazují dvě hodnoty, read
musí být oddělovač příkazů nastaven na prázdný řetězec, nikoli na výchozí prázdné znaky, které nejsou nové řádky.
read -d '' ipId subnetId <<< $(az network nic show \
--ids $nicId \
--query '[ipConfigurations[].publicIPAddress.id, ipConfigurations[].subnet.id]' \
-o tsv)
Pokud nechcete použít příkaz Bash read
nebo PowerShell -split
, můžete každou proměnnou nastavit samostatně.
$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
Pomocí ID objektu veřejné IP adresy vyhledejte veřejnou IP adresu a uložte ji do proměnné prostředí. ID podsítě se použilo k předvedení dotazu a uložení více hodnot v Azure CLI. Proto není potřeba pro zbytek kurzu.
vmIpAddress=$(az network public-ip show --ids $ipId \
--query ipAddress \
-o tsv)
Teď máte IP adresu virtuálního počítače uloženou v proměnné prostředí. Pokračujte a zkontrolujte, že se jedná o stejnou hodnotu, jakou jste použili k počátečnímu připojení k virtuálnímu počítači.
echo $vmIpAddress