如何通过子网ID使用AZ CLI获取对应的VNet?
通过子网ID获取对应VNet的AZ CLI方法
- 无需借助awk,直接用
az network vnet list配合JMESPath查询语法就能实现目标,核心是利用查询语法匹配子网ID。
具体命令示例
假设你的子网ID为/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Network/virtualNetworks/xxx/subnets/xxx,可使用以下两种方式:
方式1:用contains函数匹配
SUBNET_ID="你的子网ID" az network vnet list --query "[?contains(subnets[].id, '${SUBNET_ID}')]"
方式2:用精准匹配检查子网数组
SUBNET_ID="你的子网ID" az network vnet list --query "[?subnets[?id=='${SUBNET_ID}']]"
优化输出
如果只需要VNet的名称或ID这类特定字段,可以调整查询语句简化输出:
# 仅获取VNet名称(TSV格式便于脚本处理) az network vnet list --query "[?subnets[?id=='${SUBNET_ID}']].name" -o tsv # 仅获取VNet ID az network vnet list --query "[?subnets[?id=='${SUBNET_ID}']].id" -o tsv
内容的提问来源于stack exchange,提问作者Cobra Kai Dojo
相关产品推荐
相关产品推荐

