如何删除cli中子网中的所有资源?

时间:2019-07-29 19:26:46

标签: azure-cli

每次尝试删除子网时,都会出现此类错误“ / subscriptions / testVMVMNic / ipConfigurations / ipconfigtestVM正在使用子网testVMSubnet,并且无法删除该子网。为了删除子网,请删除其中的所有资源。子网。请参见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"
  }
]

1 个答案:

答案 0 :(得分:0)

不幸的是,没有简单的方法可以做到这一点。如果您在vnet所在的区域中运行了Network Watcher,则可以获取拓扑映射以找出连接到该子网using the command az network watcher show-topology -g MyResourceGroup的内容。除了仅是一个区域之外,它还仅显示单个资源组中的资源-来自其他资源组的附加到子网的项目将不会显示。

从理论上讲,您可以解析此命令以创建删除脚本列表,但这会相当复杂,因为每种资源类型都有不同的命令来删除它。解决方案在很大程度上取决于您需要执行此操作和扩展的频率。如果是一次性的,那么无论您是从门户网站还是cli进行操作,获取列表并手动删除每个项目可能都是最简单的。对于自动化解决方案,您可能需要删除并重新部署资源组或创建清理脚本以补充您的部署脚本。