我们正尝试使用API" GET https://management.azure.com/subscriptions/ {subscriptionId} / resourceGroups / {resourceGroupName} /providers/Microsoft.Compute/virtualMachines/ {vmName} / vmSizes列出特定位置的所有可用尺寸?API-版本= 2017年12月1日&#34 ;.它返回近22400个尺寸。在某些地区真的包含这么多尺码吗?是否有任何优雅的方式来获取基于类型的VM大小。
For Example:
1. Get VM sizes based on General purpose, Memory optimized, Storage optimized etc.
2. Get VM Sizes based on RAM size, CPU count etc.
答案 0 :(得分:1)
我使用了Laurent发布的示例(下面的链接),它返回了该区域中所有可用的VM大小的名称,核心,磁盘,内存等(使用parm location = region)。如果在其中加上一些代码,您应该可以执行示例2。
Get Virtual Machine sizes list in json format using azure-sdk-for-python
def list_available_vm_sizes(compute_client, region = 'EastUS2', minimum_cores = 1, minimum_memory_MB = 768):
vm_sizes_list = compute_client.virtual_machine_sizes.list(location=region)
for vm_size in vm_sizes_list:
if vm_size.number_of_cores >= int(minimum_cores) and vm_size.memory_in_mb >= int(minimum_memory_MB):
print('Name:{0}, Cores:{1}, OSDiskMB:{2}, RSDiskMB:{3}, MemoryMB:{4}, MaxDataDisk:{5}'.format(
vm_size.name,
vm_size.number_of_cores,
vm_size.os_disk_size_in_mb,
vm_size.resource_disk_size_in_mb,
vm_size.memory_in_mb,
vm_size.max_data_disk_count
))
list_available_vm_sizes(compute_client, region = 'EastUS', minimum_cores = 2, minimum_memory_MB = 8192)