Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Теперь, когда у вас есть идентификатор сетевого адаптера, выполните команду az network nic show, чтобы получить его сведения. Здесь не требуется группа ресурсов, так как имя группы ресурсов содержится в идентификаторе ресурса Azure.
az network nic show --ids $nicId
Эта команда содержит все сведения о сетевом интерфейсе виртуальной машины. Эти данные включают параметры DNS, сведения о IP-адресах, параметры безопасности и MAC-адрес. В следующем запросе показано, как получить идентификаторы общедоступных IP-адресов и объектов подсети.
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"
]
}
Эта команда отображает объект JSON с пользовательскими ключами (IP- и подсетью) для извлеченных значений. Хотя этот стиль вывода может оказаться не полезным для инструментов командной строки, он помогает с человеческой читаемостью и может использоваться с пользовательскими скриптами.
Чтобы использовать средства командной строки, измените команду для удаления пользовательских ключей JSON и вывода в формате tsv. Команда read обрабатывает этот стиль выходных данных путем загрузки результатов в несколько переменных. Так как два значения отображаются в отдельных строках, read разделитель команд должен быть задан на пустую строку, а не по умолчанию для пробелов, отличных от новой строки.
read -d '' ipId subnetId <<< $(az network nic show \
--ids $nicId \
--query '[ipConfigurations[].publicIPAddress.id, ipConfigurations[].subnet.id]' \
-o tsv)
Если вы не хотите использовать команду Bash read или PowerShell -split , можно задать каждую переменную отдельно.
$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
Используйте идентификатор объекта общедоступного IP-адреса, чтобы найти общедоступный IP-адрес и сохранить его в переменной оболочки. Идентификатор подсети использовался для демонстрации того, как запрашивать и хранить несколько значений в Azure CLI. Поэтому для остальной части руководства не требуется.
vmIpAddress=$(az network public-ip show --ids $ipId \
--query ipAddress \
-o tsv)
Теперь у вас есть IP-адрес виртуальной машины, хранящейся в переменной оболочки. Перейдите вперед и убедитесь, что это то же значение, которое вы использовали для первоначального подключения к виртуальной машине.
echo $vmIpAddress