如何使用Azure CLI获取嵌套属性

如何使用Azure CLI获取嵌套属性,azure,azure-powershell,azure-cli,Azure,Azure Powershell,Azure Cli,我一直在使用下面的行从Azure中的ILB应用程序服务环境中获取internalIpAddress属性的值: az resource show ` --ids "/subscriptions/$subscription_id/resourceGroups/$ilbase_rg_name/providers/Microsoft.Web/hostingEnvironments/$ilbase_name/capacities/virtualip" ` --query "internalIpAd

我一直在使用下面的行从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
资源,它仍然以相同的旧格式显示它。如果您尝试Azure资源浏览器提供给您的用于查询资源的PowerShell代码,它将不会返回任何结果

以下是Azure资源浏览器说要使用的PowerShell:

Get-AzureRmResource -ResourceGroupName MyRG -ResourceType Microsoft.Web/hostingEnvironments/capacities -ResourceName "myilbase/virtualip" -ApiVersion 2018-02-01

想要获得有关如何从
附加属性
对象

解析嵌套的
internalIpAddress
属性的帮助,只需像平常一样遍历对象即可:

--query "additionalProperties.internalIpAddress"

你在哪里找到“附加属性”?我在ASE中找不到它。它也像以前一样显示。@CharlesXu如果您运行我在本文顶部的
az resource show
命令,它应该显示
additionalProperties
输出格式。对我来说是这样。@CharlesXu最奇怪的事情…当我今天早上回去运行相同的代码时…它现在又像过去一样工作了,现在我看不到(或无法查询)和
附加属性
对象。我发誓…我昨天看到这一点时没有受到影响:)@CharlesXu今天早上发现我的工作站上出现了
additionalProperties
问题,因为它有一个过时的AZ CLI版本。我觉得这很奇怪,因为我最初是在那个工作站上写这段代码的,现在它的行为与我的笔记本电脑不同,我的笔记本电脑有一个更新版本的AZ CLI工具。更新了工作站,现在它们的行为方式相同。是否只是较旧的CLI版本导致了问题?CLI的输出仅显示Azure定义的属性,它也显示在Azure模板中。我没有看到。