我正在尝试使用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结构化数据。任何帮助将不胜感激。
如果需要任何其他信息,请发表评论。
答案 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)