Install
openclaw skills install @thcjp/azure-cli-toolkitopenclaw skills install @thcjp/azure-cli-toolkit核心功能: 本技能提供与资源优化建议''、建议''、时使用、、工作流优化时使用等能力。
功能说明: 本技能涵盖 cli, toolkit(工具箱) 等核心能力。
核心功能: 本技能提供中文交互等能力。 核心功能: 本技能提供自动化脚本与等能力。
| 能力 | 免费版 | 付费版 |
|---|---|---|
| 基础功能 | 支持 | 支持 |
| Azure命令行工具专业版业级Azure云管理 | 不支持 | 支持 |
| Azure命令行工具专业版多订阅管理 | 不支持 | 支持 |
| Azure命令行工具专业版与成本优化分析 | 不支持 | 支持 |
| 大数据集流式处理 | 不支持 | 支持 |
| 多数据源关联查询 | 不支持 | 支持 |
| 认证方式 | 适用场景 | 命令 |
|---|---|---|
| 服务主体 | CI/CD、自动化脚本 | az login --service-principal |
| 托管身份 | Azure 资源内部调用 | az login --identity |
| 令牌认证 | 无状态流水线 | az login --service-principal --password-stdin |
az login --service-principal \
--username $AZURE_CLIENT_ID \
--password $AZURE_CLIENT_SECRET \
--workspace $AZURE_workspace_id
az login --identity
echo "$AZURE_ACCESS_TOKEN" | az login --service-principal \
-u $AZURE_CLIENT_ID --password-stdin --workspace $AZURE_workspace_id
az vm list -g myRG -d --query "[].id" -o tsv | xargs az vm delete --ids --yes
az vm list -d --query "[?powerState=='VM running'].id" -o tsv | xargs az vm stop --ids
az resource list --tag env=production --query "[].id" -o tsv
批量资源操作 选项#!/bin/bash
set -e # 出错即退出
az group create -g prod-rg -l eastus
VM_ID=$(az vm create \
-g prod-rg \
-n prod-vm \
--image UbuntuLTS \
--query id \
--output tsv)
echo "Created VM: $VM_ID"
az vm show --ids "$VM_ID" --query provisioningState
az network nsg create -g prod-rg -n prod-nsg
az network nsg rule create -g prod-rg --nsg-name prod-nsg \
-n allow-ssh --priority 1000 \
--source-address-prefixes '*' \
--destination-port-ranges 22 \
--access Allow --protocol Tcp
自动化部署脚本 选项az account list --query "[].{name:name, id:id, state:state}" -o table
for sub in $(az account list --query "[].id" -o tsv); do
az account set --subscription $sub
echo "=== 订阅: $(az account show --query name -o tsv) ==="
az vm list -o table
done
多订阅管理 选项az consumption usage list \
--top 10 \
--query "[].{service:instanceName, cost:pretaxCost}" \
-o table
az resource list --query "[?tags.env=='dev']" -o table
az monitor metrics list \
--resource $(az vm show -g myRG -n myVM --query id -o tsv) \
--metric "Percentage CPU" \
--interval PT1H -o table
az policy assignment list -o table
az policy state list --query "[?complianceState=='NonCompliant']" -o table
az security assessment list -o table
az ad sp create-for-rbac --name my-automation-sp
export AZURE_CLIENT_ID="<appId>"
export AZURE_CLIENT_SECRET="<password>"
export AZURE_workspace_id="<租户ID>"
mkdir -p .azure-toolkit/{scripts,templates,reports}
cat > .azure-toolkit/config.json << 'EOF'
{
"edition": "pro",
"default_location": "eastus",
"environments": ["dev", "test", "prod"],
"auto_shutdown": {
"dev": "22:00",
"test": "20:00"
},
"cost_alert_threshold": 1000
}
EOF
./.azure-toolkit/(请参考skill目录中的脚本文件) prod
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 否 | azure-cli-toolkit处理的内容输入 |
| strict_level | string | 否 | 审查严格度, 可选: strict/normal/loose, 默认: normal |
{
"success": true,
"data": {
"overall_grade": "A",
"total_score": 92,
"max_score": 100,
"summary": "处理完成",
"details": [
{
"item": "代码风格",
"status": "pass",
"score": 95,
"comment": "符合规范"
},
{
"item": "安全合规",
"status": "warn",
"score": 80,
"comment": "符合规范"
}
],
"improvements": [
{
"priority": "high",
"suggestion": "建议优化",
"expected_gain": "+5分"
},
{
"priority": "medium",
"suggestion": "建议优化",
"expected_gain": "+3分"
}
]
},
"error": null
}
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 数据源读取失败 | 文件损坏或数据库连接中断 | 校验文件完整性,检查数据库连接参数,尝试备份数据源 |
| 数据处理内存溢出 | 数据集过大超出内存限制 | 启用流式处理模式,分批加载数据,或增加可用内存 |
| 查询结果为空 | 过滤条件过严或数据源无匹配记录 | 放宽查询条件,检查数据源时间范围,提示用户调整参数 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Azure CLI | CLI 工具 | 必需 | brew / apt / choco 安装 |
| Azure 订阅 | 云服务 | 必需 | azure.com 注册 |
| 服务主体 | 认证 | 自动化必需 | az ad sp create-for-rbac |
| jq | CLI 工具 | 推荐 | 系统包管理器 |
| xargs | CLI 工具 | 批量操作必需 | 系统自带 |
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
自动化场景需配置服务主体凭据:
export AZURE_CLIENT_ID="your-client-id"
export AZURE_CLIENT_SECRET="your-client-secret"
export AZURE_workspace_id="your-workspace-id"
export AZURE_SUBSCRIPTION_ID="your-subscription-id"
建议使用 Azure KeyVault 管理敏感凭据:
az keyvault secret show --vault-name myVault -n azure-client-secret \
--query value -o tsv
az 命令,支持脚本化批量操作与 CI/CD 集成输入:
{
"content": "示例内容",
"strict_level": "normal"
}
输出:
评级: B级(良好) - 总分: 85/100
检查详情:
- 代码风格: 通过(95分) - 检查通过
- 安全合规: 警告(75分) - 检查通过
- 无障碍性: 通过(85分) - 检查通过
改进建议:
1. [高优先级] 建议优化
2. [中优先级] 建议优化
输入:
{
"content": "示例内容",
"strict_level": "strict"
}
输出:
评级: C级(及格) - 总分: 70/100
检查详情:
- 代码风格: 通过(90分) - 检查通过
- 安全合规: 不通过(50分) - 检查通过
- 无障碍性: 警告(70分) - 检查通过
改进建议:
1. [高优先级] 建议优化
2. [高优先级] 建议优化
3. [低优先级] 建议优化
输入:
{
"content": "示例内容"
}
输出:
评级: D级(不及格) - 总分: 45/100
检查详情:
- 代码风格: 不通过(40分) - 检查通过
- 安全合规: 不通过(30分) - 检查通过
- 无障碍性: 通过(65分) - 检查通过
改进建议:
1. [紧急] 建议优化
2. [高优先级] 建议优化
A: 请参考适用场景章节。超出范围的需求可能无法得到预期结果,建议先查看不适用场景列表。
A: 通过环境变量注入,严禁硬编码在代码或配置文件中。参考认证章节的安全红线说明。
A: 降低请求频率,等待2-5秒后重试。持续限流请检查API配额或联系服务提供方。
A: 提供更详细的输入描述,确保参数值具体明确。参考案例展示中的优选实践示例。
A: 向后兼容。但建议及时更新到最新版本以获取新功能和修复。查看版本变更日志了解详情。
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| 服务主体凭据泄露 | 高 | 使用密钥管理服务存储凭据,定期更换密码 | 检查密钥管理服务配置,定期审计凭据使用情况 |
| 自动化脚本执行安全漏洞 | 中 | 对脚本进行安全审查,限制脚本执行权限 | 使用静态代码分析工具检查脚本安全,限制执行权限 |
| 多订阅管理权限滥用 | 中 | 严格管理订阅访问权限,定期审计访问记录 | 使用Azure AD权限管理功能,定期审计访问日志 |
| 成本分析数据泄露 | 中 | 限制对成本数据的访问,使用加密存储 | 设置数据访问控制策略,使用加密存储技术 |
| 策略合规审计结果误用 | 低 | 正确解读审计结果,确保资源符合策略要求 | 定期培训团队,确保正确理解策略要求 |
| 提升效率分析 | 量化指标 | 描述 |
|---|---|---|
| 批量资源操作 | 10倍效率提升 | 通过自动化脚本批量操作资源,减少了手动操作的时间,提高了效率 |
| 成本优化建议 | 20%成本节约 | 通过成本分析,帮助企业识别未使用的资源,实现成本节约 |
| 自动化部署脚本 | 5倍部署速度 | 自动化部署脚本能够快速部署资源,缩短了部署时间,提高了速度 |
| 多订阅管理 | 3倍管理效率 | 通过统一管理多订阅,减少了管理复杂度,提高了管理效率 |
| 差异化对比 | 特点 | 优势 |
| --- | --- | --- |
| 与免费版对比 | 扩展自动化、批量操作与成本治理能力 | 提供更强大的管理和自动化功能 |
| 与其他云管理工具对比 | 集成Azure CLI,使用熟悉的命令行工具 | 提供无缝集成和熟悉的操作体验 |
| 与CI/CD集成 | 支持自动化脚本,实现端到端自动化 | 提高开发效率,减少人工干预 |
| 与成本分析工具对比 | 集成成本分析,提供实时成本数据 | 提供更全面的成本管理功能 |
| 与合规审计工具对比 | 集成策略合规审计,简化合规流程 | 提供更便捷的合规审计体验 |
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 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命令行工具专业版 | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 企业级Azure云管理,支持批量操作、自动化脚本、多订阅管理与成本优化分析。面向 | 通用场景 | 通用场景 |
| 安全风险 | 严重程度 | 缓解策略 | 检查方式 |
| ---------- | ---------- | ---------- | ---------- |
| 敏感数据暴露 | 严重 | 传输层加密,存储层脱敏 | 数据流图审查 |
| 权限越界 | 高 | 最小权限原则,操作审计 | 权限矩阵验证 |
| 第三方接口异常 | 中 | 超时熔断,降级处理 | 故障注入测试 |
| 日志信息泄露 | 低 | 敏感字段过滤,日志脱敏 | 日志抽样检查 |
A1: "企业级Azure云管理,支持批量操作、自动化脚本、多订阅管理与成本优化分析。面向企业团队的高级 Azure 云平台管理工具,在免费版基础上扩展自动化、批量操作。支持文本指令和结构化参数输入,具体格式参考使用流程章节。
A2: 是的,部分功能需要配置对应平台的API Key。请在依赖说明章节查看具体要求,并通过环境变量安全配置。
A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。
针对"Azure命令行工具专业版"使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |