用途
Azure CLI 是微软提供的跨平台命令行工具,用于管理 Azure 资源。该技能旨在帮助使用者掌握 Azure CLI,完成云基础设施管理、自动化与 DevOps 工作流。
主要能力
技能内容涵盖以下知识:
- 核心概念:Azure 订阅与资源组架构、身份验证方法与凭据管理、资源提供程序组织与注册、全局参数与输出格式及查询语法、自动化脚本与错误处理。
- 主要服务领域(约 66 个命令模块):
- 计算:虚拟机、规模集、Kubernetes(AKS)、容器
- 网络:虚拟网络、负载均衡器、CDN、流量管理器
- 存储与数据:存储账户、Data Lake、Cosmos DB、数据库
- 应用服务:App Service、Functions、容器应用
- 数据库:SQL Server、MySQL、PostgreSQL、CosmosDB
- 集成与消息:事件中心、服务总线、逻辑应用
- 监控与管理:Azure Monitor、策略、RBAC、成本管理
- AI 与机器学习:认知服务、机器学习
- DevOps:Azure DevOps、管道、扩展
使用方式
安装
- macOS:
brew install azure-cli - Linux(Ubuntu/Debian):
curl -sL https://aka.ms/InstallAzureCliLinux | bash - Windows:
choco install azure-cli,或从https://aka.ms/InstallAzureCliWindowsMSI下载 MSI
验证安装:
az --version
az --help
初步步骤
# 1. 登录 Azure(打开浏览器进行身份验证)
az login
# 2. 查看订阅
az account list
# 3. 设置默认订阅(可选)
az account set --subscription "My Subscription"
# 4. 创建资源组
az group create -g myResourceGroup -l eastus
# 5. 列出资源组
az group list
常用命令
身份验证与账户:
az login
az login --service-principal -u APP_ID -p PASSWORD -t TENANT_ID
az login --identity
az logout
az account show
az account list
az account set --subscription SUBSCRIPTION
全局标志(可用于任何命令):
--subscription ID
--resource-group -g RG
--output -o json|table|tsv|yaml
--query JMESPATH_QUERY
--verbose -v
--debug
--help -h
资源组:
az group list
az group create -g RG -l LOCATION
az group delete -g RG
az group show -g RG
az group update -g RG --tags key=value
虚拟机(计算):
az vm create -g RG -n VM_NAME --image UbuntuLTS
az vm list -g RG
az vm show -g RG -n VM_NAME
az vm start -g RG -n VM_NAME
az vm stop -g RG -n VM_NAME
az vm restart -g RG -n VM_NAME
az vm delete -g RG -n VM_NAME
存储操作:
az storage account create -g RG -n ACCOUNT --sku Standard_LRS
az storage account list
az storage container create --account-name ACCOUNT -n CONTAINER
az storage blob upload --account-name ACCOUNT -c CONTAINER -n BLOB -f LOCAL_FILE
az storage blob download --account-name ACCOUNT -c CONTAINER -n BLOB -f LOCAL_FILE
Azure Kubernetes Service(AKS):
az aks create -g RG -n CLUSTER --node-count 2
az aks get-credentials -g RG -n CLUSTER
az aks list
az aks show -g RG -n CLUSTER
az aks delete -g RG -n CLUSTER
常见模式
输出格式化:
az vm list --query "[].{name: name, state: powerState}"
az vm list --query "[].name" -o tsv
az vm list --query "[?powerState=='VM running'].name"
自动化与脚本:
#!/bin/bash
set -e
VM_ID=$(az vm create \
-g myRG \
-n myVM \
--image UbuntuLTS \
--query id \
--output tsv)
echo "Created VM: $VM_ID"
az vm show --ids "$VM_ID" --query provisioningState
批量操作:
az vm list -g myRG -d --query "[].id" -o tsv | xargs az vm delete --ids
az resource list --tag env=production
使用默认值:
az configure --defaults group=myRG subscription=mySubscription location=eastus
az vm create -n myVM --image UbuntuLTS
辅助脚本
该技能包含用于常见操作的 bash 辅助脚本:
- azure-vm-status.sh — 检查订阅中虚拟机状态
- azure-resource-cleanup.sh — 识别并移除未使用资源
- azure-storage-analysis.sh — 分析存储账户使用情况与成本
- azure-subscription-info.sh — 获取订阅配额与限制
- azure-rg-deploy.sh — 带监控地部署基础设施
用法:
./scripts/azure-vm-status.sh -g myResourceGroup
./scripts/azure-storage-analysis.sh --subscription mySubscription
进阶主题
使用 JMESPath 查询输出:
az vm list --query "sort_by([], &name)"
az vm list --query "[?location=='eastus' && powerState=='VM running'].name"
az vm list --query "length([])"
错误处理:
az vm create -g RG -n VM --image UbuntuLTS
if [ $? -eq 0 ]; then
echo "VM created successfully"
else
echo "Failed to create VM"
exit 1
fi
身份验证方法:
服务主体(自动化):
az login --service-principal \
--username $AZURE_CLIENT_ID \
--password $AZURE_CLIENT_SECRET \
--tenant $AZURE_TENANT_ID
托管标识(Azure 资源):
az login --identity
基于令牌(CI/CD):
echo "$AZURE_ACCESS_TOKEN" | az login --service-principal -u $AZURE_CLIENT_ID --password-stdin --tenant $AZURE_TENANT_ID
提示与技巧
启用 Tab 补全:
eval "$(az completion init zsh)"
eval "$(az completion init bash)"
快速查找命令:
az find "create virtual machine"
对长时间操作使用 --no-wait:
az vm create -g RG -n VM --image UbuntuLTS --no-wait
保存常用参数:
az configure --defaults group=myRG location=eastus
与其他工具结合:
az vm list | jq '.[] | select(.powerState == "VM running") | .name'
az storage account list --query "[].name" -o tsv | xargs -I {} az storage account show -g RG -n {}
适用场景
云基础设施管理、资源自动化、CI/CD 与 DevOps 工作流,以及需要跨平台命令行操作 Azure 的服务与资源。
限制与补充说明
- 兼容性:Azure CLI v2.50+、Azure 订阅。
- 版本:1.0.0;许可证:MIT。
- 官方文档:https://learn.microsoft.com/en-us/cli/azure/
- 命令参考:https://learn.microsoft.com/en-us/cli/azure/reference-index
- GitHub 仓库:https://github.com/Azure/azure-cli
- 发布说明:https://github.com/Azure/azure-cli/releases
- 该技能提到 references/REFERENCE.md 提供全面命令文档,可在 scripts/ 目录中查看辅助脚本。
- 收费、价格、实际效果等具体信息暂未提供。