Как получить данные вместо? - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь получить все данные о виртуальных машинах, используя модуль Azure.mgmt.compute ComputeManagementClient. Таким образом, я получаю JSON-результат данных, но в некоторых местах я получаю это значение. Как мне получить данные от этого объекта? Или, пожалуйста, не могли бы вы объяснить, что это значит?

Я не очень старался, потому что я не уверен, как поступить с такими данными

from azure.mgmt.compute import ComputeManagementClient
from azure.common.credentials import ServicePrincipalCredentials

def trial(cred, subscription_id):
    GROUP_NAME = 'please provide the resource group name of your subscription'
    compute_client = ComputeManagementClient(cred, subscription_id)
    temp = {}
    for rsku in compute_client.resource_skus.list():
        temp[rsku.name] = {
            "tier": rsku.tier,
            "size": rsku.size,
            "family": rsku.family,
            "kind": rsku.kind,
            "capacity": rsku.capacity,
            "locations": rsku.locations[0],
            "costs": rsku.costs,
            "restrictions": rsku.restrictions
        }
    print(temp, "\n")


def authenticate():
    subscription_id = '0000000000000000000000000'
    try:
        credentials = ServicePrincipalCredentials(
            client_id =  '00000000000000000000',
            secret = '0000000000000000000000',
            tenant = '00000000000000000000000'
        )
        return credentials, subscription_id
    except :
        return ("We are stuck")


if __name__ == "__main__":
    cred, subscription_id = authenticate()    
    trial(cred, subscription_id)

'restrictions': [<azure.mgmt.compute.v2017_09_01.models.resource_sku_restrictions_py3.ResourceSkuRestrictions object at 0x071D8A10>]}

1 Ответ

0 голосов
/ 17 июня 2019

Привет, так что выяснил, где я ошибся.

Таким образом, выходной сигнал был местоположением объекта.

Итак, я пользуюсь

print(dir(rsku))

, который выдал все функции, доступные для объекта.Наиболее важным было значение.

поэтому я использовал print(rsku.restriction.value)

Надеюсь, это поможет

...