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



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

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

{
"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。一些例子。

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

我使用的是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

您可以在这里找到查询语言的更多详细信息:

查询Azure CLI命令输出

最新更新