1

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

我按照 Azure 文档中提供的以下代码示例从基于位置获取虚拟机大小的 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 格式而不是对象。所以我尝试了以下语句: result = json.dumps(vmSizesList)

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

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

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

4

1 回答 1

4

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

实际上:

client = CompteManagementClient(credentials, subscription_id)
vmSizesList = [vm_size.serialize() for vm_size in client.virtual_machine_sizes.list()]
json.dumps(vmSizesList)
于 2018-08-28T15:42:29.260 回答