You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Azure CLI删除ARM模板创建的Azure部署遇问题

问题分析与解决方案

为什么az deployment group delete没效果?

  • az deployment group delete仅删除部署的历史记录,不会删除该部署所创建的资源,这是命令的设计逻辑,并非异常。
  • 你使用的是资源组级部署(az deployment group create),而az deployment sub delete是针对订阅级部署的命令,对当前部署完全无效,因此执行后无反应。

实现类似terraform destroy的资源删除方法

方法1:使用ARM完整模式部署空模板(推荐)

ARM的**完整模式(complete mode)**会将资源组的实际状态与模板内容强制同步:模板中未定义的资源会被自动删除,这是最接近terraform destroy的方式。

  1. 创建一个空的JSON模板(比如命名为empty.json),内容如下:
{}
  1. 执行完整模式部署:
az deployment group create --resource-group demo --template-file empty.json --mode complete --name destroy-resources

注意:此操作会删除demo资源组内所有未在empty.json中定义的资源,若资源组内有手动创建或其他部署的资源,也会被一并删除,请谨慎操作。

方法2:批量删除部署关联的资源

通过查询部署创建的资源列表,逐一删除:

  1. 获取该部署创建的所有资源ID:
az deployment group show --resource-group demo --name serviceName --query properties.outputResources[].id -o tsv
  1. 循环删除这些资源:
for resource_id in $(az deployment group show --resource-group demo --name serviceName --query properties.outputResources[].id -o tsv); do
    az resource delete --ids $resource_id
done

注意:若资源间存在依赖关系,可能需要按依赖逆序删除,否则会出现删除失败的情况。

方法3:使用Bicep(可选)

如果后续需要更便捷的资源生命周期管理,建议改用Bicep(ARM模板的简化语法),它支持通过命令直接销毁部署关联的资源:

az deployment group destroy --resource-group demo --name serviceName

内容的提问来源于stack exchange,提问作者nacho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 15:52:38