无法使用 python 获取 azure 的子网 ID

Can't get the subnet id of azure using python

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

但我得到的是一个错误:HttpResponseError: (InvalidApiVersionParameter) api-version '2021-02-01' 无效。支持的版本是'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-预览,2014-04-01,2014-01 -01,2013-03-01,2014-02-26,2014-04'。 我尝试了不同的 api 版本,但它让我有了 errors.Any 想法吗? 我使用的azure-mgmt-network版本是19.0.0

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

  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 .