Install
openclaw skills install @thcjp/azure-cloud-architect-freeopenclaw skills install @thcjp/azure-cloud-architect-free核心功能: 本技能提供操作等等能力。
使用本地 Azure CLI 回答关于 Azure 资源的基础问题。默认只读查询,不执行任何变更操作.
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | Azure云架构师LITE处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
API Key配置方式:
export API_KEY="${API_KEY:?请设置环境变量}"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
自动列出所有可访问订阅,智能检测默认订阅,支持按名称或 ID 切换,避免在错误订阅执行操作.
查询虚拟机列表、运行状态、资源组等只读信息,结果以表格形式展示便于阅读.
升级提示: RBAC 角色审计(Owner 过度授权检测)、成本分析工作流(Cost Management)、合规检查(NSG/存储安全)、跨订阅批量操作、分层权限模型(L0-L4)等高级功能仅在 [azure-cloud-architect 付费版] 中提供。- 验证返回数据的完整性和格式正确性
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,避免在错误订阅上下文中误读数据。如需跨订阅统一查询,请升级至付费版使用跨订阅批量操作模板.
场景: 运维人员需要快速检查当前订阅里有哪些虚拟机及运行状态
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 --workspace <workspace-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响应超时或无响应 | 网络延迟或模型负载过高 | 检查网络连接和配置后重试;确认Agent平台LLM服务正常 |
| 输入内容格式不正确 | 用户输入不符合skill预期格式 | 检查输入是否符合skill使用说明中的格式要求,参考示例章节 |
| 执行结果与预期不符 | 指令描述不够明确或上下文不足 | 提供更详细的指令描述,补充必要的上下文信息 |
| 命令执行失败 | 运行环境不满足要求或权限不足 | 确认运行环境符合依赖说明中的要求;检查命令权限设置 |
为了提升“Azure云架构师LITE”的创新性,我们可以引入以下增强:
为了完善“Azure云架构师LITE”的功能完整性,我们可以考虑以下内容:
为了提升用户体验,我们可以进行以下界面改进:
为了增强“Azure云架构师LITE”的生态系统整合能力,我们可以考虑以下策略:
为了加强社区建设和文档完善,我们可以采取以下措施:
手动操作:与手动操作相比,Azure云架构师LITE自动化了订阅导航和资源清单查询过程,大幅减少了手动输入和筛选时间。手动操作通常需要多次登录、切换订阅、查询资源,而Azure云架构师LITE通过自动化脚本和命令行工具,将整个过程简化为几步操作。
其他工具:与其他基于Azure CLI的工具相比,Azure云架构师LITE提供了更直观的用户界面和更便捷的操作方式。例如,某些工具可能需要编写复杂的脚本或命令,而Azure云架构师LITE则通过简单的命令行参数和表格输出,让用户轻松获取所需信息。
通用方法:与使用通用方法(如PowerShell脚本)相比,Azure云架构师LITE专注于Azure云架构师领域,提供了更专业的功能和更高效的解决方案。通用方法可能需要用户自行编写和维护脚本,而Azure云架构师LITE则提供了现成的功能和配置选项,降低了使用门槛。
多订阅导航器:自动列出所有可访问订阅,智能检测默认订阅,支持按名称或ID切换,避免在错误订阅执行操作。
资源清单查询:查询虚拟机列表、运行状态、资源组等只读信息,结果以表格形式展示便于阅读。
只读模式:默认只读模式,不执行任何变更操作,适用于日常资源盘点和健康巡检场景。
异步处理:支持异步处理,用户可以继续执行其他任务,等待处理完成后的回调通知。
格式化输出:支持多种输出格式,如表格、JSON等,方便用户根据需求进行后续处理。
使用Azure云架构师LITE可以节省大量时间,尤其是在处理大量资源时。例如,手动操作可能需要数十分钟,而Azure云架构师LITE只需几秒钟即可完成相同的任务。
自动化资源盘点:定期使用Azure云架构师LITE进行资源盘点,及时发现异常情况,如未使用的虚拟机、资源组等。
健康巡检:使用Azure云架构师LITE监控虚拟机运行状态,及时发现并解决潜在问题,确保业务连续性。
成本分析:虽然Azure云架构师LITE本身不提供成本分析功能,但可以与其他工具(如Azure Cost Management)结合使用,实现更全面的成本分析。
| 错误现象 | 可能原因 | 诊断步骤 | 解决方案 |
|---|---|---|---|
| 无法列出订阅 | Azure CLI 未正确配置或登录 | 运行 az account show 检查登录状态,运行 az login 重新登录 | 确保Azure CLI配置正确,使用有效的凭据登录 |
| 资源查询结果为空 | 查询的订阅或资源组不存在 | 运行 az account list 检查订阅列表,运行 az group list 检查资源组列表 | 确保查询的订阅或资源组存在,并具有查询权限 |
| 虚拟机状态检查失败 | 虚拟机未启动或网络问题 | 运行 az vm list --query '[].{Name:name,PowerState:powerState}' -o table 检查虚拟机状态,检查网络连接 | 确保虚拟机已启动,检查网络连接是否正常 |
| 输出格式错误 | 输出格式设置错误 | 检查命令中的 --output 参数设置是否正确 | 使用正确的输出格式,如 --output table 或 --output json |
| 异步处理无响应 | 网络问题或回调URL配置错误 | 检查网络连接,确认回调URL配置正确 | 确保网络连接正常,回调URL配置正确 |
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| 未授权访问 | 高 | 限制Azure CLI访问权限,使用RBAC角色分配 | 运行 az role assignment list 检查角色分配 |
| 凭据泄露 | 高 | 使用强密码,定期更换密码,启用多因素认证 | 使用密码管理工具,定期检查密码强度 |
| 虚拟机安全配置不当 | 中 | 确保虚拟机安全组配置正确,关闭不必要的端口 | 检查虚拟机安全组规则,确保符合安全要求 |
| 资源组命名不规范 | 低 | 使用一致的命名约定,避免敏感信息泄露 | 检查资源组命名是否符合命名规范 |
| Azure CLI配置文件泄露 | 中 | 不要将Azure CLI配置文件存储在公共代码库中 | 确保配置文件不包含敏感信息,存储在安全的地方 |
| 跨订阅操作安全 | 高 | 限制跨订阅操作的权限,确保操作符合安全策略 | 检查跨订阅操作的RBAC角色分配,确保符合安全要求 |
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | Azure云架构师LITE | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 基于Azure CLI的多订阅导航与资源清单查询,提供只读查询与VM健康检查。基 | 通用场景 | 通用场景 |
A1: 基于Azure CLI的多订阅导航与资源清单查询,提供只读查询与VM健康检查。基于 Azure CLI 的基础云资源查询工具(免费版)。提供多订阅导航与资源清单。支持文本指令和结构化参数输入,具体格式参考使用流程章节。
A2: 是的,部分功能需要配置对应平台的API Key。请在依赖说明章节查看具体要求,并通过环境变量安全配置。
A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。
针对Azure云架构师LITE使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |