如何使用Python SDK实现PowerShell中的VNet与子网创建操作
Azure Python SDK实现虚拟网络与子网创建方案
前置依赖
- 安装所需SDK包:
pip install azure-mgmt-network azure-identity - 完成Azure身份认证:可通过本地执行
az login,或配置服务主体环境变量完成身份校验
完整代码实现
以下代码完全对应你提供的PowerShell操作逻辑:
from azure.identity import DefaultAzureCredential from azure.mgmt.network import NetworkManagementClient # 基础参数配置,可按需修改 SUBSCRIPTION_ID = "替换为你的Azure订阅ID" RESOURCE_GROUP_NAME = "CreateVNetQS-rg" LOCATION = "EastUS" VNET_NAME = "myVNet" VNET_ADDRESS_PREFIX = "10.0.0.0/16" SUBNET_NAME = "default" SUBNET_ADDRESS_PREFIX = "10.0.0.0/24" # 初始化网络管理客户端 credential = DefaultAzureCredential() network_client = NetworkManagementClient(credential, SUBSCRIPTION_ID) # 1. 对应PowerShell中New-AzVirtualNetwork操作,创建虚拟网络 vnet_operation = network_client.virtual_networks.begin_create_or_update( resource_group_name=RESOURCE_GROUP_NAME, virtual_network_name=VNET_NAME, parameters={ "location": LOCATION, "address_space": { "address_prefixes": [VNET_ADDRESS_PREFIX] } } ) virtual_network = vnet_operation.result() # 2. 对应PowerShell中Add-AzVirtualNetworkSubnetConfig + Set-AzVirtualNetwork操作,添加子网并更新虚拟网络 subnet_operation = network_client.subnets.begin_create_or_update( resource_group_name=RESOURCE_GROUP_NAME, virtual_network_name=VNET_NAME, subnet_name=SUBNET_NAME, subnet_parameters={ "address_prefix": SUBNET_ADDRESS_PREFIX } ) subnet_config = subnet_operation.result() print("虚拟网络与子网创建完成")
可选优化方案
你也可以在创建虚拟网络时直接传入子网配置,减少一次API调用,提升执行效率:
# 创建虚拟网络时直接携带子网配置 vnet_operation = network_client.virtual_networks.begin_create_or_update( resource_group_name=RESOURCE_GROUP_NAME, virtual_network_name=VNET_NAME, parameters={ "location": LOCATION, "address_space": { "address_prefixes": [VNET_ADDRESS_PREFIX] }, "subnets": [ { "name": SUBNET_NAME, "address_prefix": SUBNET_ADDRESS_PREFIX } ] } ) virtual_network = vnet_operation.result()
内容的提问来源于stack exchange,提问作者UserP
相关产品推荐
相关产品推荐

