5

在 Azure Cloud Shell 中,我可以使用az account list-locations获取订阅中支持的所有位置的列表。如何过滤响应以仅包含位置的名称属性并排除所有其他属性?

而不是像这样的对象列表:

{
"displayName": "UK West",
"id": "<<removed>>",
"latitude": "53.427",
"longitude": "-3.084",
"name": "ukwest",
"subscriptionId": null
}

我想收集这样的名字:

{
"name": "ukwest",
"name": "ukwest2",
"name": "ukwest3",
}
4

2 回答 2

5

您可以-query为此使用参数:

az account list-locations --query '[].name'

它使用jmespath表示法。

附言。一些例子。

于 2018-07-12T18:31:05.780 回答
3

接受的答案对我不起作用。

我正在使用azCLI 版本 2.3.1。

这对我有用:

az account list-locations --query "sort_by([].{Location:name}, &Location)" -o table

这产生了这个结果:

Location
------------------
australiacentral
australiacentral2
australiaeast
australiasoutheast
brazilsouth
canadacentral
canadaeast
centralindia
centralus
eastasia
eastus
eastus2
francecentral
francesouth
germanynorth
germanywestcentral
japaneast
japanwest
koreacentral
koreasouth
northcentralus
northeurope
norwayeast
norwaywest
southafricanorth
southafricawest
southcentralus
southeastasia
southindia
switzerlandnorth
switzerlandwest
uaecentral
uaenorth
uksouth
ukwest
westcentralus
westeurope
westindia
westus
westus2

You can find more details on the query language here:

Query Azure CLI command output

于 2020-04-17T02:31:05.563 回答