Azure 资源管理器资源组和资源删除

本文介绍如何删除资源组和资源。 它介绍在删除资源组时 Azure 资源管理器如何为资源的删除排序。

如何确定删除顺序

删除资源组时,资源管理器会确定删除资源的顺序。 采用以下顺序:

  1. 删除所有子(嵌套)资源。

  2. 接下来,删除管理其他资源的资源。 可以为资源设置 managedBy 属性,用于指示管理它的其他资源。 设置此属性后,先删除管理其他资源的资源,再删除受管理的这些资源。

  3. 删除前两种类别后,便会删除剩余资源。

确定顺序后,资源管理器为每个资源发出 DELETE 操作。 它先等待所有依赖项均完成操作,再继续。

对于同步操作,预期的成功响应代码为:

  • 200
  • 204
  • 404

对于异步操作,预期的成功响应代码为 202。 资源管理器会跟踪 location 标头或 azure-async operation 标头,以确定异步删除操作的状态。

删除错误

如果删除操作返回错误,资源管理器会重试 DELETE 调用。 若状态代码为 5xx、429 和 408,便会重试。 默认情况下,重试的时间段为 15 分钟。

删除之后

资源管理器对其尝试删除的每个资源发出 GET 调用。 此 GET 调用的响应应为 404。 当资源管理器获得 404 时,便将删除操作视为成功完成。 资源管理器会从其缓存中删除资源。

但是,如果对资源的 GET 调用返回 200 或 201,资源管理器会重新创建资源。

如果 GET 操作返回错误,资源管理器会为以下错误代码重试 GET 调用:

  • 小于 100
  • 408
  • 429
  • 大于 500

对于其他错误代码,它会将删除操作视为失败。

重要

资源组删除不可逆。

删除资源组

使用以下方法之一删除资源组。

Remove-AzResourceGroup -Name ExampleResourceGroup

删除资源

使用以下方法之一删除资源。

Remove-AzResource `
  -ResourceGroupName ExampleResourceGroup `
  -ResourceName ExampleVM `
  -ResourceType Microsoft.Compute/virtualMachines

所需访问权限

若要删除资源组,你需要访问“Microsoft.Resources/subscriptions/resourceGroups”资源的删除操作。 还需要资源组中所有资源的删除权限。

有关操作的列表,请参阅 Azure 资源提供程序操作。 有关内置角色的列表,请参阅 Azure 内置角色

如果拥有所需的访问权限,但删除请求失败,则可能是因为资源组上存在

后续步骤