我一直在使用以下行从Azure的ILB应用服务环境中获取internalIpAddress
属性的值:
az resource show `
--ids "/subscriptions/$subscription_id/resourceGroups/$ilbase_rg_name/providers/Microsoft.Web/hostingEnvironments/$ilbase_name/capacities/virtualip" `
--query "internalIpAddress"
virtualip
资源的格式为:
{
"internalIpAddress": "10.30.0.139",
"outboundIpAddresses": [
"13.72.76.135"
],
"serviceIpAddress": "13.72.76.135",
"vipMappings": []
}
好像过去一天左右,virtualip
资源的格式现在已更改为:
{
"additionalProperties": {
"internalIpAddress": "10.30.0.139",
"outboundIpAddresses": [
"13.72.76.135"
],
"serviceIpAddress": "13.72.76.135",
"vipMappings": []
},
"id": null,
"identity": null,
"kind": null,
"location": null,
"managedBy": null,
"name": null,
"plan": null,
"properties": null,
"sku": null,
"tags": null,
"type": null
}
现在我的命令不再起作用...它什么也不返回。我可以修改命令以获取整个additionalProperties
对象,但是然后我不知道如何解析它以仅获取internalIpAddress
属性的值。
关于此的另一个有趣的注意事项是,如果转到Azure资源浏览器并导航到virtualip
资源,它仍然以相同的旧格式显示它。如果您尝试使用PowerShell代码,Azure资源资源管理器会为您提供查询资源的信息,它什么也不会返回。
以下是据说Azure资源浏览器使用的PowerShell:
Get-AzureRmResource -ResourceGroupName MyRG -ResourceType Microsoft.Web/hostingEnvironments/capacities -ResourceName "myilbase/virtualip" -ApiVersion 2018-02-01
正在寻找有关如何从internalIpAddress
对象解析嵌套additionalProperties
属性的帮助
答案 0 :(得分:1)
像平常一样遍历对象:
scale_both