我们正在尝试使用 API“GET https://management.azure.com/subscriptions/ {subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes?api-version= 列出特定位置的所有可用大小2017-12-01”。它返回近 22400 个尺寸。某个区域下真的包含这么多尺寸吗?有没有什么优雅的方法可以根据类型获取虚拟机大小。
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.
最佳答案
我使用了 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)
关于python-2.7 - 根据类型或类别列出 Microsoft Azure 计算中的 VM 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48886748/