1

ピアリングされた仮想ネットワークのリストから返された属性値を抽出するにはどうすればよいですか? このコマンドを実行しましたが、ネットワーク ID を抽出する必要があります

list_all = network_client.virtual_network_peerings.list(
    GROUP_NAME,
    VNET_NAME
)

list_all のピアの場合:

印刷(ピア)

上記のプリントからこの値を取得します。

{'additional_properties': {'type': 'Microsoft.Network/virtualNetworks/virtualNetworkPeerings'}, 
'id': '/subscriptions/c70b9b-efd6-497d-98d8-e1e1d497425/resourceGroups/azure-sample-group-virtual-machines/providers/Microsoft.Network/virtualNetworks/azure-sample-vnet/virtualNetworkPeerings/sample-vnetpeer', 
'allow_virtual_network_access': True, 
'allow_forwarded_traffic': True, 
'allow_gateway_transit': False, 
'use_remote_gateways': False, 
'remote_virtual_network': <azure.mgmt.network.v2018_08_01.models.sub_resource_py3.SubResource object at 0x048D6950>, 
'remote_address_space': <azure.mgmt.network.v2018_08_01.models.address_space_py3.AddressSpace object at 0x048D68D0>,
 'peering_state': 'Initiated', 
'provisioning_state': 'Succeeded',
 'name': 'sample-vnetpeer',
 'etag': 'W/"653f7f94-3c4e-4275-bfdf-0bbbd9beb6e4"'}

この値「remote_virtual_network」を取得するにはどうすればよいですか?

4

2 に答える 2

0

あなたの質問は実際には Azure の質問というよりも Python の質問に近いと思います。アプリケーションでこのフィールドに値が設定されていると仮定すると、属性が 1 つしかないことを意味しますremote_virtual_networkSubResourceid

for peer in list_all:
    remote_virtual_network_id = peer.remote_virtual_network.id

この男は実際の仮想ネットワークなので、詳細が必要な場合は、 https network_client.virtual_networks.get: //docs.microsoft.com/en-us/python/api/azure-mgmt-network/azure.mgmt で入手する必要があります。 network.v2018_08_01.operations.virtualnetworksoperations?view=azure-python#get

トリッキーな部分は ID を取得することですが、VNet get は RG 名と VNet 名を要求します。これには ARM ID パーサーを使用できます。

https://docs.microsoft.com/en-us/python/api/msrestazure/msrestazure.tools?view=azure-python#parse-resource-id

于 2018-11-15T23:00:06.123 に答える