首页 > 解决方案 > 无法使用python获取天蓝色的子网ID

问题描述

我想使用python在天蓝色的虚拟网络中获取子网的资源ID,我使用的命令是这一行:subnets=network_client.subnets.get(resource_group,'XXX','XXX')

但我得到的是一个错误:HttpResponseError: (InvalidApiVersionParameter) The api-version '2021-02-01' is invalid. 支持的版本是'2021-04-01,2021-01-01,2020-10-01,2020-09-01,2020-08-01,2020-07-01,2020-06-01,2020-05 -01,2020-01-01,2019-11-01,2019-10-01,2019-09-01,2019-08-01,2019-07-01,2019-06-01,2019-05-10 ,2019-05-01,2019-03-01,2018-11-01,2018-09-01,2018-08-01,2018-07-01,2018-06-01,2018-05-01,2018 -02-01,2018-01-01,2017-12-01,2017-08-01,2017-06-01,2017-05-10,2017-05-01,2017-03-01,2016-09 -01,2016-07-01,2016-06-01,2016-02-01,2015-11-01,2015-01-01,2014-04-01-preview,2014-04-01,2014-01 -01,2013-03-01,2014-02-26,2014-04'。我尝试了不同的 api 版本,但它让我出错。请问有什么想法吗?我使用的 azure-mgmt-network 的版本是 19.0.0

标签: azure-virtual-network

解决方案


请确保在执行脚本之前先安装以下两个模型:

  1. pip install azure-mgmt-network

  2. pip install azure-identity

然后使用以下脚本获取subnet-id订阅中存在的特定子网:

from azure.identity import AzureCliCredential
from azure.mgmt.network import NetworkManagementClient
credential = AzureCliCredential()
subscription_id = "948d4068-xxxx-xxxx-xxxx-e00a844e059b"
network_client = NetworkManagementClient(credential, subscription_id)
resource_group_name = "ansumantest"
location = "West US 2"
virtual_network_name = "ansuman-vnet"
subnet_name = "acisubnet"
Subnet=network_client.subnets.get(resource_group_name, virtual_network_name, subnet_name)
print(Subnet.id)

输出:

在此处输入图像描述

注意:我使用的是 pip 版本pip 21.2.4 and (python 3.9)。我使用的 pip 模型版本如下:

在此处输入图像描述

我正在使用与您相同的网络模型版本。但是,如果您仍然面临这个问题,那么尝试安装新的,即19.1.0


推荐阅读