Получить список размеров виртуальных машин в формате json, используя azure-sdk-for-python - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь использовать библиотеку 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 вместо объекта. Поэтому я попробовал следующее утверждение: результат = json.dumps (vmSizesList)

Это приводит к ошибке "объект не сериализуем".

Другой способ, который я считаю, состоит только в том, чтобы зацикливаться и вручную создавать структурированные данные json. Любая помощь будет благодарна.

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

1 Ответ

0 голосов
/ 28 августа 2018

Результат вызова list возвращает итерацию, поэтому сначала вам нужно будет использовать эту итерацию в виде списка. Затем каждый объект будет содержать serialize метод, который вернет объект в JSON-форму.

На практике:

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