后端与接口
在 Azure 中跨订阅或资源组列出、查找和盘点资源(含…
当需要列出、查找或盘点 Azure 资源(如网站、Web Apps、App Services、VM、存储账户、容器应用等),尤其是跨订阅查询、孤儿资源发现或标签审计时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
在 Azure 中跨订阅或资源组列出、查特定
解决思路
- 对于单一资源类型的查询,先检查是否有专用 MCP 工具可处理:Virtual Machines 用 `compute`(完整支持列表、详情、规格),Storage Accounts 用 `storage`(完整支持账户、blob、表),Cosmos DB 用 `cosmos`(完整支持账户、数据库、查询),Key Vault 用 `keyvault`(部分支持,仅密钥/机密,无 vault 列表),SQL Databases 用 `sql`(部分支持,需要资源组名),Container Registries 用 `acr`(完整支持列出注册表),Kubernetes (AKS) 用 `aks`(完整支持集群、节点池),Event Hubs 用 `eventhubs`(完整支持命名空间、hub),Service Bus 用 `servicebus`(完整支持队列、主题)。
- App Service / Web Apps 没有专用 MCP `list` 命令,Container Apps 也没有 MCP 工具,这两类必须走 Azure Resource Graph(ARG)。
- 若专用工具可用且覆盖完整,则直接使用;否则进入下一步用 ARG。
- 使用 `extension_cli_generate` 构建 `az graph query` 命令:intent 设为 "query Azure Resource Graph to <user's request>",cli-type 设为 "az"。
- 执行生成的命令,并用 `--query`(JMESPath)塑造输出,例如:`az graph query -q "<KQL>" --query "data[].{name:name, type:type, rg:resourceGroup}" -o table`。
- 用 `--first N` 限制结果数量,用 `--subscriptions` 限定查询范围。
- 始终使用 `=~` 进行大小写不敏感的类型匹配(类型均为小写)。
- 始终用 `--subscriptions` 或 `--first` 为大型租户限定查询范围。
- 遇到 `resource-graph extension not found` 错误时,运行 `az extension add --name resource-graph` 安装扩展。
- 遇到 `AuthorizationFailed` 错误时,检查 RBAC,需要 Reader 角色。
- 遇到查询 `BadRequest` 错误时,验证表和列名,并使用 `=~` 做大小写不敏感的类型匹配。
- 遇到空结果时,检查 `--subscriptions` 标志并核实资源类型拼写。
适用边界 · 注意事项
- 不要用于部署或更改资源(应使用 azure-deploy)。
- 不要用于成本优化或成本分析(应使用 azure-cost)。
- 不要用于非 Azure 云;也不要用 ARG 做实时监控(数据有轻微延迟),且 ARG 为只读,绝不能用于变更操作。