Azure 云平台命令行管理
Azure CLI Skill. 用于云基础设施管理,自动化,以及DevOps工作流程的Azure命令行界面Master.是一项面向实际任务的技能,主要用于Azure CLI也是微软强大的跨平台命令行.。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
掌握 Azure 命令行接口,用于云基础设施管理、自动化及 DevOps 工作流。
Azure CLI 是 Microsoft 提供的强大跨平台命令行工具,用于管理 Azure 资源。本技能涵盖 Azure CLI 命令、身份验证机制、资源管理以及自动化模式等全面知识。
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 # 使用托管标识(Managed 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
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 # 出错时退出 # 获取虚拟机 ID VM_ID=$(az vm create -g myRG -n myVM --image UbuntuLTS --query id --output tsv) echo "已创建虚拟机:$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 # group、subscription、location 将自动继承
本技能包含若干用于常见操作的 Bash 辅助脚本:
使用方法:
./scripts/azure-vm-status.sh -g myResourceGroup ./scripts/azure-storage-analysis.sh --subscription mySubscription
Azure CLI 支持通过 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 "虚拟机创建成功" else echo "虚拟机创建失败" exit 1 fi
服务主体(Service Principal,适用于自动化场景):
az login --service-principal --username $AZURE_CLIENT_ID --password $AZURE_CLIENT_SECRET --tenant $AZURE_TENANT_ID
托管标识(Managed Identity,适用于 Azure 资源内部调用):
# 在 Azure 虚拟机或容器实例中执行 az login --identity
基于令牌的身份验证(Token-based,适用于 CI/CD 场景):
echo "$AZURE_ACCESS_TOKEN" | az login --service-principal -u $AZURE_CLIENT_ID --password-stdin --tenant $AZURE_TENANT_ID
启用 Tab 补全:
# macOS(Homebrew 环境下) eval "$(az completion init zsh)" # Linux(bash 环境下) eval "$(az completion init bash)"
快速查找命令:
az find "create virtual machine" # 搜索相关命令
对长时间运行操作使用 --no-wait 参数:
az vm create -g RG -n VM --image UbuntuLTS --no-wait # 后续可通过 az vm show 查询状态
保存常用参数设置:
az configure --defaults group=myRG location=eastus
与其他工具协同使用:
# 结合 jq 进行高级 JSON 处理
az vm list | jq '.[] | select(.powerState == "VM running") | .name'
# 结合 xargs 执行批量操作
az storage account list --query "[].name" -o tsv | xargs -I {} az storage account show -g RG -n {}
references/REFERENCE.md 获取完整命令文档scripts/ 目录下的辅助脚本版本: 1.0.0
许可证: MIT
兼容性: Azure CLI v2.50+、Azure 订阅
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.6万人学习