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

如何通过Azure Resource Graph查询获取应用的全部关联资源?

解决Azure Resource Graph获取全部应用关联资源的问题

一、获取全部6个应用关联资源的最佳方案

  • 结合应用标识+多维度筛选:如果你的6个应用是Azure App Service(或其他可明确识别的资源类型),先定位这6个应用的资源ID或名称,再通过两种维度覆盖所有关联资源:
    1. 拉取这些应用所在所有资源组内的全部资源(不管资源有没有打标签)
    2. 拉取自身带有app_id标签的资源(覆盖跨组关联但直接打了标签的资源)
      最后把这两部分结果合并去重,就能拿到完整的100个资源。
  • 混合标签筛选逻辑:直接查询“资源自身带app_id标签 OR 资源所属资源组带app_id标签”的资源,这种方式能同时覆盖资源直接打标和资源组打标的场景,不用提前知道应用的资源组信息。

二、筛选带app_id标签的资源组并获取组内所有资源的查询语句

以下是Azure Resource Graph的Kusto查询语句,会先提取所有带有app_id标签的资源组,再关联查询这些组内的全部资源,同时保留资源组的app_id标识:

// 第一步:获取所有带app_id标签的资源组
resourcecontainers
| where type == "microsoft.resources/subscriptions/resourcegroups"
| where tags contains "app_id"
| project rgName = name, appId = tags.app_id

// 第二步:关联查询这些资源组下的所有资源
| join kind=inner (
    resources
    | project resourceName = name, resourceType = type, rgName = resourceGroup, resourceId = id
) on rgName

// 整理输出字段,可按需调整
| project appId, rgName, resourceName, resourceType, resourceId
// 可选:去重避免同一资源被多次匹配
| distinct appId, resourceId

补充说明

  • 如果app_id标签的键名存在大小写差异(如App_ID、APP_ID),可以把where tags contains "app_id"替换为where tags has_any ("app_id", "App_ID", "APP_ID")来兼容不同命名。
  • 若需要关联应用本身的信息(比如应用名称),可以再加入应用资源的查询,通过appId关联到对应的应用详情。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 05:58:19