每次我尝试删除子网时,我都会收到此类型的错误"子网testvmsubnet被/订阅/subpcriptions/testvmvmnic/ipconfigurations/ipconfigurations/ipconfigtectvm使用,并且无法删除。子网,删除子网中的所有资源。请参阅aka.ms/deletesubnet。"
那么,如何删除子网中的所有资源?
[
{
"addressPrefix": "10.0.0.0/24",
"addressPrefixes": null,
"delegations": [],
"etag": "W/"ba1ae732-1aa2-4d6d-af04-3dc6eaac8338"",
"id": "/subscriptions/23c7f465-e27b-418b-b8a7-21616582f9bb/resourceGroups/user-qkyosxgoenbq/providers/Microsoft.Network/virtualNetworks/testVMVNET/subnets/testVMSubnet",
"interfaceEndpoints": null,
"ipConfigurationProfiles": null,
"ipConfigurations": [
{
"etag": null,
"id": "/subscriptions/23c7f465-e27b-418b-b8a7-21616582f9bb/resourceGroups/user-qkyosxgoenbq/providers/Microsoft.Network/networkInterfaces/testVMVMNic/ipConfigurations/ipconfigtestVM",
"name": null,
"privateIpAddress": null,
"privateIpAllocationMethod": null,
"provisioningState": null,
"publicIpAddress": null,
"resourceGroup": "user-qkyosxgoenbq",
"subnet": null
}
],
"name": "testVMSubnet",
"networkSecurityGroup": null,
"provisioningState": "Succeeded",
"purpose": null,
"resourceGroup": "user-qkyosxgoenbq",
"resourceNavigationLinks": null,
"routeTable": null,
"serviceAssociationLinks": null,
"serviceEndpointPolicies": null,
"serviceEndpoints": null,
"type": "Microsoft.Network/virtualNetworks/subnets"
}
]
不幸的是,没有简单的方法可以做到这一点。如果您在VNET所在的区域内运行网络观察器,则可以使用命令az network watcher show-topology -g MyResourceGroup
来获取拓扑映射,以找出该子网附加的内容。除了仅是一个区域外,这仅显示来自其他资源组附加到子网的单个资源组中的资源。
理论上,您可以解析此删除脚本的列表,但这很复杂,因为每种资源类型都有不同的命令将其删除。该解决方案在很大程度上取决于您需要执行此操作和扩展的频率。如果是一次性,那么无论您是从门户还是CLI进行手动删除每个项目的列表,并且手动删除每个项目可能是最简单的。对于自动解决方案,您可能需要删除并重新删除资源组或创建清理脚本以补充您的部署脚本。