通过Azure Python SDK获取Azure VM硬件配置文件

时间:2019-02-27 03:59:04

标签: python azure

我正在尝试在Azure上开发系统参数优化算法,但遇到了API问题。

我可以使用azure cli命令来获取VM硬件配置文件,但是我无法弄清楚哪个Azure SDK API具有同等的结果。

Azure cli命令和部分输出结果是:

az vm get-instance-view -g GROUP_NAME -n VM_NAME.

输出将包括:

"hardwareProfile": {
     "vmSize": "Standard_D4s_v3"
 },

我需要vmSize的值。我尝试过:

compute_client.virtual_machines.get(GROUP_NAME, VM_NAME, expand='instanceView').instance_view

但是我无法从上述API获得预期的结果。我已经搜索过,但是也未能从Azure文档中找到。

2 个答案:

答案 0 :(得分:0)

我发了这个问题后才发现,很奇怪:

virtual_machine = compute_client.virtual_machines.get(
        GROUP_NAME,
        VM_NAME
    )
hardware = virtual_machine.hardware_profile
print("\nHardware:", hardware)

输出为:

hardware: {'additional_properties': {}, 'vm_size': 'Standard_D2s_v3'}

答案 1 :(得分:0)

只是要弄清楚。这不奇怪。

在第一种方法中,您定义expand='instanceView',它只能返回虚拟机的实例视图。实例视图意味着有关虚拟机运行时状态的信息。它(实例视图)不包含VM硬件配置文件信息。

您可以使用此apiget()方法在浏览源代码时也会调用此api)来检查实例视图的返回结果,如下所示:

enter image description here

如果未在get()方法中指定instanceview,它将返回vm的模型视图,其中包含VM硬件配置文件信息。

您也可以通过此api进行测试,以查看虚拟机的模型视图。

希望有帮助。