Ehs*_*adi 3 azure azure-cli azure-cli2
我想在Azure bash命令行中获取特定虚拟机的公共IP地址,到目前为止,我已使用此命令,但它返回网络接口信息:
az vm list-ip-addresses -g dev-rg -n dev-vm
Run Code Online (Sandbox Code Playgroud)
返回值:
[
{
"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"
}
}
]
Run Code Online (Sandbox Code Playgroud)
我只需要IP地址值,应该是这样的:52.142.xxx.xxx
您还可以继续您最初的想法(关键点是--query和--output参数):
az vm list-ip-addresses --resource-group dev-rg --name dev-vm --query "[].virtualMachine.network.publicIpAddresses[0].ipAddress" --output tsv
Run Code Online (Sandbox Code Playgroud)
正如文档所述,使用az vm show --show-details可能会很慢。
您可以仅使用CLI命令az vm show -d -g reousrceGroupName -n vmName --query publicIps -o tsv输出公共IP。
它就像这样显示:
| 归档时间: |
|
| 查看次数: |
1668 次 |
| 最近记录: |