我想在Azure bash命令行中获取特定虚拟机的公共IP地址,到目前为止,我已使用此命令,但它返回网络接口信息:
az vm list-ip-addresses -g dev-rg -n dev-vm
返回值:
[
{
"virtualMachine": {
"name": "dev-vm",
"network": {
"privateIpAddresses": [
"10.0.0.5"
],
"publicIpAddresses": [
{
"id": "/subscriptions/*********/resourceGroups/dev-rg/providers/Microsoft.Network/publicIPAddresses/dev-vmPublicIP",
"ipAddress": "52.142.***.***",
"ipAllocationMethod": "Dynamic",
"name": "dev-vmPublicIP",
"resourceGroup": "dev-rg"
}
]
},
"resourceGroup": "dev-rg"
}
}
]
我只需要IP地址值即可,例如:52.142.xxx.xxx
答案 0 :(得分:2)
答案 1 :(得分:1)
您也可以继续您最初的想法(关键点是 --query
和 --output
参数):
az vm list-ip-addresses --resource-group dev-rg --name dev-vm --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" --output tsv
作为 documentation states,使用 az vm show --show-details
可能会很慢。