数据与AI
需要把 Azure 资源组可视化成架构图时,用…
分析 Azure 资源组内所有资源及其依赖关系,生成带 Mermaid 架构图的 Markdown 文档。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要把 Azure 资源组可视化成架构图特定
解决思路
- 若用户未指定资源组,先用工具(无对应工具则用 `az`)查询可用资源组,列出编号、名称和位置,让用户按编号或名称选择,等待用户回复后再继续;若已指定则先校验其存在。
- 跨订阅批量发现资源时使用 Azure Resource Graph 查询(参考 references/azure-resource-graph.md 的跨订阅清单与关系发现模式)。
- 用 Azure MCP 工具或 `az` 查询资源组内全部资源,逐个分析并记录:资源名称与类型、SKU/层级、位置/区域、关键配置属性、网络设置(VNet、子网、私有终结点)、身份与访问(托管标识、RBAC)、依赖与连接。
- 映射资源关系,识别:网络连接(VNet 对等互连、子网分配、NSG 规则、私有终结点)、数据流(应用→数据库、Functions→存储、API Management→后端)、身份(托管标识连接资源)、配置(应用设置指向 Key Vault、连接字符串)、依赖(父子关系、必需资源)。
- 图中只能用有意义的占位名表示密钥、连接字符串、Key Vault 机密等敏感值,绝不把真实机密值写入架构图。
- 用 `graph TB`(自上而下)或 `graph LR`(自左向右)构建详细 Mermaid 图:按网络/计算/数据/安全/监控等层次或用途分组,节点标签用 `<br/>` 换行包含 SKU、层级和重要设置,为所有连接加描述性标签,使用有意义的节点 ID(如 APP、FUNC、SQL、KV),用 subgraph 做逻辑分组;连接线用 `-->` 表示数据流或依赖、`-.->` 表示可选/条件连接、`==>` 表示关键/主路径。
- 节点标签中体现资源类型细节:App Service 含计划层级(B1、S1、P1v2),Functions 含运行时(.NET、Python、Node),数据库含层级(Basic、Standard、Premium),存储含冗余(LRS、GRS、ZRS),VNet 含地址空间,子网含地址范围。
- 以 template-architecture.md 为模板,创建名为 `[resource-group-name]-architecture.md` 的 Markdown 文件,包含:头部(资源组名、订阅、区域)、摘要(2-3 段架构概述)、资源清单表(所有资源及类型和关键属性)、完整 Mermaid 架构图、关系详情(关键连接与数据流说明)、备注(重要观察、潜在问题或建议)。
- 文件创建在 workspace 根目录或已存在的 `docs/` 文件夹,文件名清晰描述性,输出前检查 Mermaid 语法有效。
- 工具使用:Azure MCP 用 `intent="list resource groups"` 发现资源组、`intent="list resources in group"` 加组名获取全部资源、`intent="get resource details"` 分析单个资源,需要特定 Azure 操作时用 `command` 参数;MCP 无法完成的复杂查询用 Azure CLI,如 `az resource list --resource-group <name> --output json`、`az network vnet show --resource-group <name> --name <vnet-name>`。
- 边界处理:无资源时告知用户并核实资源组名;权限不足时说明缺什么并建议检查 RBAC;50+ 资源的复杂架构考虑按层拆成多张图;跨资源组依赖在图的备注中标注;关系不明确的资源归入 "Other Resources" 分组。
- 全程只读分析,不修改或删除任何 Azure 资源;不因资源看似不重要而跳过,不臆测未经验证的关系,不生成不完整或占位图,不省略影响架构理解的配置细节。
- 输出格式:Mermaid 用 `graph TB`/`graph LR`,subgraph 语法 `subgraph "Descriptive Name"`,节点语法 `ID["Display Name<br/>Details"]`,连接语法 `SOURCE -->|"Label"| TARGET`;Markdown 用 H1 主标题、H2 主要章节、H3 子章节、表格列资源清单、项目符号列备注与建议、`mermaid` 代码块包裹图。
适用边界 · 注意事项
- 没有 Azure 订阅、资源组或相应 RBAC 读取权限时无法使用。
- 需要修改、部署或删除 Azure 资源时(本技能仅做只读分析)。
- 非 Azure 环境(如 AWS、GCP 或本地基础设施)的资源可视化。