🚀 快速安装

复制以下命令并运行,立即安装此 Skill:

npx @anthropic-ai/skills install microsoft/azure-skills/azure-resource-lookup

💡 提示:需要 Node.js 和 NPM

Azure 资源查找

列出、查找和发现跨订阅和资源组的任何类型的 Azure 资源。当专用 MCP 工具无法覆盖资源类型时,使用 Azure Resource Graph (ARG) 进行快速的跨区域查询。

何时使用此技能

当用户希望执行以下操作时,使用此技能:

  • 列出任何类型的资源(虚拟机、Web 应用、存储帐户、容器应用、数据库等)
  • 显示特定订阅或资源组中的资源
  • 跨多个订阅或资源类型查询资源
  • 查找孤立资源(未附加的磁盘、未使用的网卡、空闲 IP)
  • 发现缺少所需标签或配置的资源
  • 获取跨多种类型的资源清单
  • 查找处于特定状态的资源(不健康、预配失败、已停止)
  • 回答“我有哪些资源?”或“显示我的 Azure 资源

💡 提示:对于单一资源类型的查询,首先检查是否有专用的 MCP 工具可以处理(参见下面的路由表)。如果没有,则使用 Azure Resource Graph。

快速参考

属性
查询语言 KQL (Kusto 查询语言子集)
CLI 命令 az graph query -q "<KQL>" -o table
扩展 az extension add --name resource-graph
MCP 工具 意图为 az graph queryextension_cli_generate
最适合 跨订阅查询、孤立资源、标签审计

MCP 工具

工具 用途 何时使用
extension_cli_generate 生成 az graph query 命令 主要工具 — 根据用户意图生成 ARG 查询
mcp_azure_mcp_subscription_list 列出可用的订阅 在查询前发现订阅范围
mcp_azure_mcp_group_list 列出资源组 缩小查询范围

工作流程

步骤 1:检查是否有专用 MCP 工具

对于单一资源类型的查询,检查是否有专用的 MCP 工具可以处理:

资源类型 MCP 工具 覆盖范围
虚拟机 compute ✅ 完整 — 列出、详情、大小
存储帐户 storage ✅ 完整 — 帐户、Blob、表
Cosmos DB cosmos ✅ 完整 — 帐户、数据库、查询
Key Vault keyvault ⚠️ 部分 — 仅限密码/密钥,无法列出保管库
SQL 数据库 sql ⚠️ 部分 — 需要资源组名称
容器注册表 acr ✅ 完整 — 列出注册表
Kubernetes (AKS) aks ✅ 完整 — 集群、节点池
应用服务 / Web 应用 appservice ❌ 无列出命令 — 使用 ARG
容器应用 ❌ 无 MCP 工具 — 使用 ARG
事件中心 eventhubs ✅ 完整 — 命名空间、中心
服务总线 servicebus ✅ 完整 — 队列、主题

如果有覆盖范围完整的专用工具可用,请使用它。否则,继续执行步骤 2。

步骤 2:生成 ARG 查询

使用 extension_cli_generate 构建 az graph query 命令:

mcp_azure_mcp_extension_cli_generate
  intent: "查询 Azure Resource Graph 以 <用户的请求>"
  cli-type: "az"

有关常见的 KQL 模式,请参阅 Azure Resource Graph 查询模式

步骤 3:执行并格式化结果

运行生成的命令。使用 --query (JMESPath) 来调整输出格式:

az graph query -q "<KQL>" --query "data[].{name:name, type:type, rg:resourceGroup}" -o table

使用 --first N 限制结果数量。使用 --subscriptions 限定范围。

错误处理

错误 原因 修复
resource-graph extension not found 扩展未安装 az extension add --name resource-graph
AuthorizationFailed 没有订阅的读取权限 检查 RBAC — 需要“读取者”角色
BadRequest on query KQL 语法无效 验证表/列名;对于不区分大小写的类型匹配,使用 =~
空结果 没有匹配的资源或范围错误 检查 --subscriptions 标志;验证资源类型拼写

限制

  • 始终使用 =~ 进行不区分大小写的类型匹配(类型为小写)
  • 始终使用 --subscriptions--first 限定大型租户的查询范围
  • 优先使用专用 MCP 工具进行单一资源类型的查询
  • 切勿使用 ARG 进行实时监控(数据有轻微延迟)
  • 切勿尝试通过 ARG 进行变更操作(只读)

📄 原始文档

完整文档(英文):

https://skills.sh/microsoft/azure-skills/azure-resource-lookup

💡 提示:点击上方链接查看 skills.sh 原始英文文档,方便对照翻译。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。