Install
openclaw skills install @thcjp/azure-cloud-architect-freeopenclaw skills install @thcjp/azure-cloud-architect-free使用本地 Azure CLI 回答关于 Azure 资源的基础问题。默认只读查询,不执行任何变更操作。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
API Key配置方式:
export API_KEY="your_api_key_here"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统。
自动列出所有可访问订阅,智能检测默认订阅,支持按名称或 ID 切换,避免在错误订阅执行操作。
输入: 用户提供多订阅导航器所需的指令和必要参数。 输出: 返回多订阅导航器的执行结果,包含操作状态和输出数据。
多订阅导航器操作,处理输入数据并返回结果多订阅导航器相关配置参数进行设置查询虚拟机列表、运行状态、资源组等只读信息,结果以表格形式展示便于阅读。
升级提示: RBAC 角色审计(Owner 过度授权检测)、成本分析工作流(Cost Management)、合规检查(NSG/存储安全)、跨订阅批量操作、分层权限模型(L0-L4)等高级功能仅在 [azure-cloud-architect 付费版] 中提供。
资源清单查询操作,处理输入数据并返回结果资源清单查询相关配置参数进行设置解析用户指令,执行核心操作并返回处理结果。
输入: 用户提供操作指令和必要参数。
输出: 返回操作执行的结果。
指令解析与执行操作,处理输入数据并返回结果指令解析与执行相关配置参数进行设置| 组件 | 说明 | 关键参数 |
|---|---|---|
parser | 解析输入指令 | format, encoding |
processor | 执行核心处理逻辑 | mode, timeout |
output | 格式化输出结果 | format, encoding |
本skill还覆盖以下能力场景: CLI、的多订阅导航与资、提供只读查询与、健康检查、的基础云资源查询、免费版、提供多订阅导航与、资源清单查询两大、基础能力、支持虚拟机列表、运行状态检查、订阅切换等只读操、默认只读模式、不执行任何变更操、适用于日常资源盘、点和健康巡检场景、跨订阅批量操作等、请升级至。这些能力在上述核心功能中均有对应处理逻辑。
| 场景 | 典型输入 | 输出内容 | 涉及能力 |
|---|---|---|---|
| 资源盘点 | "列出当前订阅的虚拟机" | VM 名称、资源组、状态表格 | 资源清单查询 |
| 订阅切换 | "切换到生产订阅" | 活跃订阅变更确认 | 多订阅导航 |
| 健康巡检 | "查看虚拟机运行状态" | VM 电源状态表格 | 资源清单查询 |
不适用于: 需要 RBAC 角色审计的场景(需付费版),需要成本分析的场景(需付费版),需要合规检查的场景(需付费版),Azure Portal GUI 操作指导,非 Azure 云平台。
az account show
如未登录,运行 az login --use-device-code(SSH 环境适用),终端会显示码和 URL,在浏览器中完成登录。
# 列出所有可访问的订阅
az account list --output table
# 设置活跃订阅(按名称或ID)
az account set --subscription "Production"
订阅选择规则: 用户明确指定 → 使用指定;未指定但有默认 → 使用默认;无默认且多个 → 询问用户;仅一个 → 直接使用。
根据需求执行 list/show 类命令,结果以表格形式展示便于阅读。
# 表格格式(适合人类阅读)
--output table
# JSON 格式(适合程序处理)
--output json
执行查询后确认结果来源的订阅范围。多订阅环境下,明确说明当前使用的订阅名称或 ID,避免在错误订阅上下文中误读数据。如需跨订阅统一查询,请升级至付费版使用跨订阅批量操作模板。
-web-01: 命令参数,用于指定操作选项-web-02: 命令参数,用于指定操作选项--query: 命令参数,用于指定操作选项-rg: 命令参数,用于指定操作选项场景: 运维人员需要快速检查当前订阅里有哪些虚拟机及运行状态
az vm list --query '[].{Name:name,ResourceGroup:resourceGroup,State:powerState}' -d --output table
预期输出:
Name ResourceGroup State
------------- --------------- --------
prod-web-01 prod-rg VM running
prod-web-02 prod-rg VM running
dev-test-01 dev-rg VM stopped
分析: dev-test-01 处于 VM stopped 状态,如非计划停机可能造成资源浪费。-d 参数用于显示实例视图状态(instance view),便于确认电源状态。不加 -d 时 powerState 字段为空,无法判断 VM 是否运行。
如需进一步审计 RBAC 权限或分析成本,请升级至付费版。付费版可检测 Owner 过度授权、按资源组分组查询 Cost Management、识别空闲磁盘和未使用公网 IP 等资源。
场景: 开发者需要确认可访问的订阅并切换到目标订阅
# 列出所有可访问的订阅
az account list --output table
预期输出:
Name CloudName State IsDefault
---------------- ----------- ------- -----------
Production AzureCloud Enabled True
Development AzureCloud Enabled False
Staging AzureCloud Enabled False
切换订阅:
az account set --subscription "Development"
分析: IsDefault 为 True 的订阅是当前活跃订阅。切换后所有后续命令将在新订阅上下文中执行,需注意确认订阅范围避免误操作。切换后可运行 az account show 验证当前订阅是否已更新。
| 错误场景 | 错误信息 | 原因分析 | 处理方式 |
|---|---|---|---|
| 未登录 | Please run az login | 会话过期或未登录 | 运行 az login --use-device-code 重新登录 |
| 订阅未找到 | Subscription not found | 订阅 ID 错误或无权限 | 用 az account list 确认可访问的订阅列表 |
| 权限不足 | Access denied / 403 | RBAC 角色权限不足 | 检查 az account show 确认身份,只读至少需 Reader 角色 |
| 未选择订阅 | No subscription selected | 未设置活跃订阅 | 运行 az account set --subscription <名称或ID> |
| 命令未找到 | command not found | Azure CLI 版本过旧 | 运行 az version,升级到最新版 az upgrade |
A: 使用 az account set --subscription "订阅名" 或 az account set --subscription "订阅ID"。结果为订阅范围时明确说明使用的订阅,避免在错误订阅执行操作。
切换后建议运行 az account show 验证当前活跃订阅。多租户环境下,如需访问其他租户的订阅,需先运行 az login --tenant <tenant-id> 登录目标租户。
A: 运行 az login --use-device-code,终端会显示一个码和 URL。在浏览器中打开 URL,输入码完成登录。适合无法打开浏览器的 SSH 环境。
设备码有效期为 15 分钟,如过期需重新运行命令获取新码。登录成功后会话通常保持 90 天,过期后需重新登录。
如本地环境支持浏览器,直接运行 az login 会自动打开浏览器完成 OAuth 认证,体验更佳。
A: 检查当前身份 az account show,确认关联的 RBAC 角色是否包含所需权限。只读操作至少需要 Reader 角色,写操作需要 Contributor。如需查询具体角色分配,请升级至付费版使用 RBAC 角色审计功能。
如提示 az login 则表示会话已过期,运行 az login --use-device-code 重新登录。SSH 环境下推荐使用设备码登录方式。
A: 免费版(LITE)包含多订阅导航和资源清单查询两大基础功能。付费版(Azure 云架构师)额外提供:
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| LLM响应超时或无响应 | 网络延迟或模型负载过高 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接,执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令请求;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |