【发布时间】:2019-01-17 00:11:01
【问题描述】:
我一直在使用下面的行从 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
寻求有关如何从 additionalProperties 对象解析嵌套的 internalIpAddress 属性的帮助
【问题讨论】:
-
在哪里可以找到“附加属性”?我在 ASE 中找不到它。它也像以前一样显示。
-
@CharlesXu 如果你运行我在这篇文章顶部的
az resource show命令...它应该显示additionalProperties输出格式。它对我有用。 -
@CharlesXu 最奇怪的事情......当我今天早上回去运行相同的代码时......它现在又像过去一样工作了,现在我没有看到(或能够查询)和
additionalProperties对象。我发誓......昨天我看到这个时并没有受到影响:) -
@CharlesXu 今天早上发现我在我的工作站上遇到了
additionalProperties的问题,因为它有一个过时的 AZ CLI 版本。我觉得这很奇怪,因为我最初在那个工作站上编写了这段代码,现在它的行为与我的笔记本电脑不同,笔记本电脑有更新版本的 AZ CLI 工具。更新了工作站,现在它们的行为方式相同。 -
是否只是较旧的 CLI 版本会导致问题? CLI 的输出仅显示 Azure 定义的属性,它还显示在 Azure 模板中。我没看到。
标签: azure azure-powershell azure-cli