如何获取仅包含 Azure 区域名称的列表?

How do I get a list containing only Azure region names?

在 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",
}

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

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

它使用 jmespath 表示法。

ps。 some 个示例。

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

我正在使用 az CLI 版本 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

您可以在此处找到有关查询语言的更多详细信息:

Query Azure CLI command output