如何从分页容器获取输出到一个变量中 |从资源组获取单个虚拟网络

How to get output from paging container into a variable | Getting single virtual network from resource group

提前致谢,我的代码顶部有变量,LOCATION,VNET_NAME,SUBNET,SUBNETRANGE。我想从函数 List_VNET 的输出中填充此信息。使用此功能,我从 azure 上的资源组获取虚拟网络(我每个资源组只有一个虚拟网络)。然后想将其填充到变量中,但它作为分页容器提供输出。我主要在 powershell 上工作,因此我了解数组,我们可以使用 array[0].

获取一个实例
from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.resource import ResourceManagementClient
from azure.mgmt.compute import ComputeManagementClient
from azure.mgmt.network import NetworkManagementClient
from azure.mgmt.compute.models import DiskCreateOption
from azure.mgmt.network.v2017_03_01.models import NetworkSecurityGroup
from azure.mgmt.network.v2017_03_01.models import SecurityRule
import azure.mgmt.network.models


SUBSCRIPTION_ID = 'xxx'
GROUP_NAME = 'AQRG'
LOCATION = ''
VM_NAME = 'myVM'
VNET_NAME = ''
SUBNET_NAME = ''
SUBNETRANGE = ''


def List_VNET(network_client):
    result_create = network_client.virtual_networks.list(
            GROUP_NAME,
        )
    SUBNET_NAME = result_create


    return SUBNET_NAME

def get_credentials():
    credentials = ServicePrincipalCredentials(
        client_id = 'xxxx',
        secret = 'xxxx',
        tenant = 'xxxx'
    )

    return credentials


if __name__ == "__main__":
    credentials = get_credentials()

resource_group_client = ResourceManagementClient(
    credentials, 
    SUBSCRIPTION_ID
)
network_client = NetworkManagementClient(
    credentials, 
    SUBSCRIPTION_ID
)

creation_result = List_VNET(network_client)
print("------------------------------------------------------")
print(creation_result)
input('Press enter to continue...')

得到如下输出

<azure.mgmt.network.v2018_12_01.models.virtual_network_paged.VirtualNetworkPaged object at 0x0000023776C13908>

更新: 在函数 List_VNET:

中将 VNET_NAME 定义为全局变量
   SUBSCRIPTION_ID = 'xxx'
   GROUP_NAME = 'AQRG'
   LOCATION = ''
   VM_NAME = 'myVM'
   VNET_NAME = ''
   SUBNET_NAME = ''
   SUBNETRANGE = ''


def List_VNET(network_client):
    result_create = network_client.virtual_networks.list(
            GROUP_NAME
        )
    global VNET_NAME
    for re in result_create:
        VNET_NAME=re.name

    return VNET_NAME

代码后:creation_result = List_VNET(network_client)

添加以下代码:

for re in creation_result:
    print(re.name)

然后就可以得到所有虚拟网络的名称了。