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

Azure订阅级What-If操作异常及部署后资源识别方法咨询

订阅级Bicep部署的What-If优化与资源识别方案

一、让资源组内资源在What-If中显示NoChange的方法

订阅级What-If仅默认跟踪订阅级资源(如资源组、策略定义、角色分配等),资源组内的资源属于资源组级部署的管辖范围,因此会被标记为Ignored。要让这些资源显示NoChange,需针对每个资源组单独执行资源组级What-If命令:

az deployment group what-if --resource-group <目标资源组名称> --result-format FullResourcePayloads -f deploy.main.bicep --parameters @deploy.main.parameters.stg.json

如果Bicep中创建了多个资源组,需要逐个对每个资源组执行上述命令,就能看到组内资源的状态为NoChange。

二、部署后识别该订阅级部署包含的所有资源名称的方法

1. 用Azure CLI查询部署关联资源

首先通过以下命令找到目标订阅级部署的名称:

az deployment sub list --location westeurope -o table

然后用部署名称查询所有关联资源的名称:

az deployment sub show --name <部署名称> --query properties.outputResources[].name -o tsv

如果需要查看资源ID或其他属性,可调整query字段,比如properties.outputResources[].id。

2. 在Bicep中定义输出变量显式导出资源名称

在deploy.main.bicep中添加输出块,主动列出所有创建的资源名称:

// 示例:根据你实际创建的资源调整
output deployedResourceNames array = [
  resourceGroup('rg-stg').name
  virtualMachine('vm-stg').name
  storageAccount('sa-stg').name
]

部署完成后,通过以下命令获取输出的资源名称列表:

az deployment sub show --name <部署名称> --query properties.outputs.deployedResourceNames.value -o tsv

这种方式最精准,完全由你控制输出内容,避免遗漏。

3. 通过Azure门户查看

  1. 登录Azure门户,搜索并进入「部署」页面
  2. 切换到「订阅部署」标签,找到目标部署记录
  3. 进入部署详情页,查看「关联的资源」标签,即可看到该部署创建的所有资源列表

补充说明

订阅级部署确实不支持Complete模式,因此无法通过该模式自动清理未包含的资源,上述方法可满足你追踪部署资源的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 17:20:19