Получение списка размеров виртуальных машин в формате json с помощью azure-sdk-for-python

Я пытаюсь использовать библиотеку 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 вручную. Любая помощь будет признательна.

Прокомментируйте, если вам нужна дополнительная информация.


person Sudhakar Reddy    schedule 28.08.2018    source источник


Ответы (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)
person Laurent Mazuel    schedule 28.08.2018