对于下面的JSON,我尝试获取特定resourceType的位置列表。
这个命令:
az provider list --query "[?namespace=='Microsoft.Compute']" 最后给出示例输出(太多,不能包含所有输出)。然后如何查询特定的资源类型?我试过以下几种方法,但不起作用:
az provider list --query "[?contains(namespace, 'Microsoft.Compute')] | [?contains(resourceType, 'virtualMachines']"从第一个命令输出示例:
[
{
"id": "/subscriptions/fed7f475-6055-4e3c-8529-c1345df70589/providers/Microsoft.Compute",
"namespace": "Microsoft.Compute",
"registrationState": "Registered",
"resourceTypes": [
{
"aliases": null,
"apiVersions": [
"2017-03-30",
"2016-08-30",
"2016-04-30-preview",
"2016-03-30",
"2015-06-15",
"2015-05-01-preview"
],
"locations": [
"East US",
"East US 2",
"West US",
"Central US",
"North Central US",
"South Central US",
"North Europe",
"West Europe",
"East Asia",
"Southeast Asia",
"Japan East",
"Japan West",
"Australia East",
"Australia Southeast",
"Brazil South",
"South India",
"Central India",
"West India",
"Canada Central",
"Canada East",
"West US 2",
"West Central US",
"UK South",
"UK West",
"Korea Central",
"Korea South"
],
"properties": null,
"resourceType": "availabilitySets"
},
}
]发布于 2017-09-27 02:12:49
这应该是可行的:
az provider list --query "[?namespace=='Microsoft.Compute'].resourceTypes[].{resourceType:resourceType, locations:locations} | [?resourceType=='virtualMachines'] | [0].locations"我并没有声称这是最简单的方法--我还在学习jmespath :)
https://stackoverflow.com/questions/42721786
复制相似问题