Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Teraz, gdy masz identyfikator karty sieciowej, uruchom polecenie az network nic show , aby uzyskać jego informacje. Nie potrzebujesz tutaj grupy zasobów, ponieważ nazwa grupy zasobów jest zawarta w identyfikatorze zasobu platformy Azure.
az network nic show --ids $nicId
To polecenie wyświetla wszystkie informacje dotyczące interfejsu sieciowego maszyny wirtualnej. Te dane obejmują ustawienia DNS, informacje o adresie IP, ustawienia zabezpieczeń i adres MAC. Poniższe zapytanie pokazuje, jak uzyskać publiczny adres IP i identyfikatory obiektów podsieci.
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"
]
}
To polecenie wyświetla obiekt JSON z kluczami niestandardowymi ("IP" i "Podsieć") dla wyodrębnionych wartości. Chociaż ten styl danych wyjściowych może nie być przydatny w przypadku narzędzi wiersza polecenia, ułatwia czytelność ludzką i może być używany z niestandardowymi skryptami.
Aby użyć narzędzi wiersza polecenia, zmień polecenie tak, aby usunąć niestandardowe klucze JSON i sformatować dane wyjściowe jako tsv. Polecenie read przetwarza ten styl danych wyjściowych, ładując wyniki do wielu zmiennych.
Ponieważ dwie wartości są wyświetlane w osobnych wierszach, ogranicznik polecenia `read` musi być ustawiony na pusty ciąg zamiast domyślnej białej spacji, którą jest znak inny niż nowa linia.
read -d '' ipId subnetId <<< $(az network nic show \
--ids $nicId \
--query '[ipConfigurations[].publicIPAddress.id, ipConfigurations[].subnet.id]' \
-o tsv)
Jeśli nie chcesz używać powłoki Bash read lub polecenia programu PowerShell -split , możesz ustawić każdą zmienną oddzielnie.
$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
Użyj publicznego identyfikatora obiektu IP, aby wyszukać publiczny adres IP i zapisać go w zmiennej powłoki. Identyfikator podsieci został użyty do zademonstrowania sposobu wykonywania zapytań i przechowywania wielu wartości w interfejsie wiersza polecenia platformy Azure. W związku z tym nie jest to konieczne w pozostałej części samouczka.
vmIpAddress=$(az network public-ip show --ids $ipId \
--query ipAddress \
-o tsv)
Teraz masz adres IP maszyny wirtualnej zapisany w zmiennej środowiskowej powłoki. Przejdź dalej i sprawdź, czy jest to ta sama wartość, która została użyta do początkowego nawiązania połączenia z maszyną wirtualną.
echo $vmIpAddress