Azure 抵扣券 微软云命令行工具CLI使用

微软云Azure / 2026-04-17 21:19:36

下载.png

你有没有过这种体验:点开 Azure 门户,鼠标划拉十分钟,终于找到「新建虚拟机」按钮,刚填完第三页表单,突然弹出「位置不可用」——然后默默关掉页面,泡了杯枸杞水,决定今晚还是用命令行。

别急,这不是你技术差,是 Azure 门户太像一个精心设计的迷宫型自助餐厅:菜全有,但找勺子得先过三道旋转门。而 Azure CLI(Azure Command-Line Interface),就是那个揣着万能钥匙、穿着工装裤、一边啃能量棒一边给你抄近道的运维老哥。

Azure 抵扣券 一、装它,别信官网那句「一键安装」

官网写着「curl | bash」或「choco install azure-cli」,听起来很帅。但现实是:

  • Mac 用户用 Homebrew 装完发现 az 命令不存在?——检查 brew doctor,八成是 shell 配置没生效,重启终端不顶用,得手动把 /opt/homebrew/bin 加进 ~/.zshrc
  • Windows 用户双击 MSI 安装包,一路「下一步」后在 CMD 里敲 az --version,返回「不是内部或外部命令」?——不是你装错了,是 MSI 默认没勾选「Add to PATH」,得重装,勾上,再重启;
  • Linux 上用 apt 装完版本还是 2.30?——因为 Ubuntu 官方源太保守,直接去 微软官方源 拉最新 deb 包,顺手干掉旧版:sudo apt remove azure-cli && sudo apt autoremove

记住:CLI 不是装完就赢,是装完+PATH+重启+验证三连击才算通关。

二、登录?别只记得 az login

az login 确实能弹浏览器让你扫码,但生产环境谁天天扫二维码?试试这个:

az login --service-principal -u <app-id> -p <client-secret> --tenant <tenant-id>

——适合脚本化、CI/CD、半夜三点自动扩容时无人值守。不过提醒一句:-p 后跟明文密码?不行。要么用 --password @/path/to/secret.txt(文件读取),要么更安全地用 Azure Key Vault 配合 az keyvault secret show 动态取值。

还常有人登错租户——比如公司有 dev/test/prod 三个租户,az login 默认进第一个。查当前上下文:az account show;切换租户:az account set --subscription "Prod-East-US"。建议登录后立刻执行:az account list --output table,把所有订阅 ID 和名称截图存桌面——这比翻邮件找订阅名快十倍。

三、资源组:你的云上收纳盒,别乱扔东西

Azure 里一切资源(VM、数据库、存储桶)必须塞进资源组(Resource Group)。它不是文件夹,是逻辑边界+权限单元+删除开关。建一个试试:

az group create --name rg-prod-web --location eastus --tags env=prod team=web

看,--tags 不是装饰品。等三个月后财务问「这笔 $127 的支出是谁的」,你敲一行:az resource list --tag env=prod --query "[?contains(name, 'web')].{Name:name, Type:type, Location:location}" -o table,结果秒出——比翻 Excel 强。

删资源组?az group delete --name rg-test-junk --yes --no-wait。注意:--no-wait 让删除后台跑,你接着干活;不加它?你得盯着终端等两分钟,期间连 ls 都不敢敲,怕中断。

四、真·实战:1 分钟起一台带公网 IP 的 Linux VM

别再点门户了!以下命令,复制粘贴,回车,喝口咖啡,VM 就活了:

# 1. 创建带公网 IP 的 VM(Ubuntu 22.04,B2s 规格)
az vm create \
  --resource-group rg-demo \
  --name vm-quick \
  --image Ubuntu2204 \
  --size Standard_B2s \
  --admin-username azureuser \
  --generate-ssh-keys \
  --public-ip-sku Standard

解释下关键参数:
--generate-ssh-keys:自动生成密钥对,私钥存在 ~/.ssh/id_rsa,不用手搓 ssh-keygen
--public-ip-sku Standard:用标准 SKU 公网 IP,支持出站规则和静态 IP,免费版(Basic)会抽风式断连;
--size Standard_B2s:B 系列突发型,便宜抗造,测试够用,别一上来就选 Standard_D8ds_v5,那不是 VM 是超算。

连上去?az vm show -g rg-demo -n vm-quick --query publicIps -o tsv 拿 IP,然后:ssh azureuser@<IP>。如果提示「Connection refused」?先确认 NSG(网络安全组)是否放行 22 端口——CLI 会自动建 NSG,但默认只开 22,没错,它懂你。

五、那些年,我们踩过的 CLI 坑

  • 「Invalid location」报错:不是你拼错了 eastus,是当前订阅没开通该区域。查支持区域:az account list-locations --query "[?metadata.regionType=='Physical'].{Name:name, DisplayName:displayName}" -o table
  • JSON 解析失败:用 --query 时别手抖多打空格,[?name=='myvm'] 写成 [? name == 'myvm' ] 直接报错;
  • PowerShell 里斜杠变反斜杠:Windows 上用 PowerShell 运行 CLI,路径写 C:\temp\config.json?错。PowerShell 把 \ 当转义符,一律用正斜杠:C:/temp/config.json 或双反斜杠:C:\\temp\\config.json
  • 别名救星:每次敲 az vm list --show-details --query "[?provisioningState=='Succeeded'].{Name:name, Size:hardwareProfile.vmSize, IP:publicIps}" -o table 太长?定义别名:alias azvmok='az vm list --show-details --query "[?provisioningState==\'Succeeded\'].{Name:name, Size:hardwareProfile.vmSize, IP:publicIps}" -o table',加到 ~/.bashrc$PROFILE,从此世界清静。

六、最后送你三条铁律

  1. 永远先 az version,再动手:2.40+ 才支持 ARM64 VM,2.35 不认 --enable-auto-shutdown,版本差半步,命令全报红;
  2. 所有 az xxx create 命令,加 --no-wait 不吃亏:创建存储账户、SQL DB、AKS 集群动辄 3–5 分钟,加它,你去接水、回消息、摸鱼,回来 az xxx show 看状态就行;
  3. 别信「--help」里的示例:它常省略必要参数。比如 az storage account create --help 示例里没写 --sku Standard_LRS,但不加它直接报错——查文档底部「Required Parameters」栏,那里才是真相。

写到这儿,你可能已经打开终端,手指悬在键盘上,准备敲下第一行 az。很好。记住:CLI 不是取代图形界面,而是当你第 7 次点错「高级」选项卡、第 12 次等加载圈转完、第 1 次想批量改 50 台 VM 的 OS 更新策略时——它就在那儿,不声不响,但永远 ready。

祝你命令行畅通,报错精准,深夜扩容不心梗。

Telegram售前客服
客服ID
@cloudcup
联系
Telegram售后客服
客服ID
@yanhuacloud
联系