使用azure-sdk-for-python获取json格式的虚拟机大小列表

时间:2018-08-28 15:16:26

标签: python azure azure-sdk-python

我正在尝试使用azure-sdk-for-python库连接到azure云并执行某些操作。

我遵循了Azure文档中提供的以下代码示例,从API开始,该API根据位置获取虚拟机的大小。

要获取身份验证客户端:https://docs.microsoft.com/en-us/python/azure/python-sdk-azure-authenticate?view=azure-python

获得ComputeManagementclient对象后,以下几行将检索VirtualMachineSize对象的列表。

client = CompteManagementClient(credentials, subscription_id)
vmSizesList = client.virtual_machine_sizes.list()

我希望此输出为json格式而不是对象。所以我尝试了以下语句:     结果= json.dumps(vmSizesList)

这将导致错误“对象不可序列化”。

我认为的另一种方法是仅循环并手动构建json结构化数据。任何帮助将不胜感激。

如果需要任何其他信息,请发表评论。

1 个答案:

答案 0 :(得分:1)

list调用的结果返回一个可迭代对象,因此首先您必须将此可迭代对象用作列表。然后,每个对象将包含一个serialize方法,该方法会将对象放回其JSON形式。

实际上:

client = CompteManagementClient(credentials, subscription_id)
vmSizesList = [vm_size.serialize() for vm_size in client.virtual_machine_sizes.list()]
json.dumps(vmSizesList)