azure cli

Azure CLI 2.60+

Azure CLI(az)命令快速参考:身份验证、订阅 / 资源管理、VM / AKS / Storage / App Service / Key Vault、查询格式化与 CI 友好的工作流,并附带常用参数和实操示例。

43 条命令

帮助

az --version

打印 Azure CLI 版本以及它所用的 Python 解释器。

az --version
az find <query>

按关键词搜索 `az` 命令——使用随 CLI 发布的静态搜索索引。

az find 'aks'
az <group> --help

显示某分组下的全部命令。

<group> --help;<group> <command> --help

az storage --help
az <group> <command> --help

显示单条命令的参数与示例。

az vm create --help
az interactive

进入带有自动补全、语法高亮和内联文档的交互式 shell。

--style;--update;--no-param-expansion

az interactive

身份验证

az login

启动浏览器登录(无显示设备时使用 device code 流程)。

--use-device-code;--tenant <tenant>;--service-principal -u <id> -p <secret> --tenant <tenant>;--federated-token <token>;--identity

az login
az login --use-device-code

使用 device code 流程——打印一个 URL 和 code,可在任意设备的浏览器中粘贴完成登录。

az login --use-device-code --tenant contoso.onmicrosoft.com
az login --service-principal -u <appId> -p <password> --tenant <tenant>

用 client secret 以 service principal 身份登录(CI / 自动化)。

-u <id>;-p <secret>;--tenant <tenant>;--federated-token <jwt>

az login --service-principal -u $APP_ID -p $APP_SECRET --tenant $TENANT
az logout

清空所有凭据并结束当前会话。

--username <upn>

az logout
az account show

打印当前激活的订阅、tenant 与用户。

--output table;--query

az account show --output table
az account list

列出你的账号可访问的所有订阅。

--output table;--query '[].{name:name,id:id}';--all

az account list --output table
az account set --subscription <id>

为后续命令切换激活的订阅。

--subscription <id>;--name <name>

az account set --subscription 'My Dev Subscription'
az account clear

清空本地缓存的所有订阅(强制重新登录)。

az account clear && az login

输出

az <cmd> --output <format>

选择输出格式:`json`(默认)、`table`、`tsv`、`yaml`、`yamlc`、`none`。

json;table;tsv;yaml;yamlc;none

az vm list --output table
az <cmd> --query '<JMES>'

用 JMESPath 表达式投影响应。

--query '[].name';--query 'length(@)';--query 'sort_by(@, &name)'

az vm list --query '[].{name:name,rg:resourceGroup,size:hardwareProfile.vmSize}' --output table
az <cmd> --no-wait

立即返回而不等待长时操作完成(之后可用 `az <verb> wait` 轮询)。

az vm create --no-wait --resource-group rg --name myvm --image image

资源组

az group list

列出当前订阅中的所有资源组。

--output table;--query '[].name'

az group list --output table
az group create --name <rg> --location <loc>

创建一个新资源组。

--name;--location eastus;--tags env=prod

az group create --name rg-prod --location eastus --tags env=prod
az group delete --name <rg>

删除资源组及其包含的所有资源(不可逆)。

--name;--yes;--no-wait

az group delete --name rg-old --yes --no-wait

资源

az resource list

列出当前订阅下的所有 Azure 资源。

--resource-group <rg>;--resource-type <type>;--name <name>;--tag env=prod

az resource list --output table
az tag

大规模管理资源标签(资源组级别)。

create;update;list;delete

az tag create --resource-group rg-prod --tags env=prod owner=alice

VM

az vm list

列出所有 VM 及其规格与状态。

--resource-group;--show-details;--query

az vm list --output table
az vm start --name <name> --resource-group <rg>

启动一个 VM(若之前已停止,会释放计算资源)。

--no-wait

az vm start -n vm-dev -g rg-dev --no-wait
az vm stop --name <name> --resource-group <rg>

停止(释放)一台 VM,从而停止计算计费。

--no-wait

az vm deallocate -n vm-dev -g rg-dev --no-wait
az ssh vm --name <name> --resource-group <rg>

使用 Azure CLI 2.30+ 的原生 SSH 支持,无需显式公网 IP 即可建立会话。

-n;-g;--ssh-key-file <path>;--port <p>

az ssh vm --name vm-dev --resource-group rg-dev

AKS

az aks list

列出所有 AKS 集群。

--resource-group;--output table

az aks list --output table
az aks get-credentials --name <name> --resource-group <rg> --overwrite-existing

把集群的 kubeconfig 合并到 `~/.kube/config` 并切换 context。

--name;--resource-group;--admin;--overwrite-existing;--file <kubeconfig>

az aks get-credentials --name my-cluster --resource-group rg-prod --overwrite-existing
az aks create --name <name> --resource-group <rg>

创建一个 AKS 集群。常用参数:`--node-count`、`--node-vm-size`、`--kubernetes-version`、`--generate-ssh-keys`。

--name;-g;--node-count;--node-vm-size;--kubernetes-version;--generate-ssh-keys;--service-principal;--no-ssh-key

az aks create -g rg-prod -n my-cluster --node-count 3 --generate-ssh-keys

Storage

az storage account list

列出所有存储账户。

--output table;--query '[].name'

az storage account list --output table
az storage blob upload --account-name <acc> --container-name <c> --name <blob> --file <path>

把一个文件上传为 blob。可使用 `--account-key`、SAS token 或 auth-mode login。

--account-name;--container-name;--name;--file <local>;--auth-mode login;--sas-token;--overwrite

az storage blob upload --account-name mysa --container-name uploads --name backup.zip --file backup.zip --auth-mode login
az storage blob download --account-name <acc> --container-name <c> --name <blob> --file <path>

把一个 blob 下载到本地路径。

--account-name;--container-name;--name;--file <local>;--auth-mode login

az storage blob download --account-name mysa --container-name uploads --name backup.zip --file ./backup.zip

App Service

az webapp list

列出所有 App Service webapp。

--resource-group;--output table

az webapp list --output table
az webapp deploy --name <name> --resource-group <rg> --src-path <local-zip>

将构建好的产物(zip 部署)部署到一个 webapp。

--src-path <zip>;--type zip;--target-path;--async

az webapp deploy -g rg-prod -n web-prod --src-path ./app.zip
az webapp log tail --name <name> --resource-group <rg>

把容器日志流式输出到终端。

--name;-g;--provider

az webapp log tail -n web-prod -g rg-prod

Key Vault

az keyvault list

列出订阅中的所有 Key Vault。

--output table;--resource-type vault

az keyvault list --output table
az keyvault secret set --vault-name <kv> --name <name> --value <value>

添加或更新一个 secret。用 `--file <path>` 从文件载入。

--vault-name;--name;--value;--file;--encoding utf-8

az keyvault secret set --vault-name my-kv --name DB-PASSWORD --value $DB_PASSWORD
az keyvault secret show --vault-name <kv> --name <name>

读取一个 secret 的元数据与值。

az keyvault secret show --vault-name my-kv --name DB-PASSWORD --query 'value' -o tsv

Container Registry

az acr list

列出所有 Container Registry。

--resource-group;--output table

az acr list --output table
az acr login --name <name>

让 docker 登录到 ACR——之后 `docker push/pull` 可以直接进行。

az acr login --name myregistry

诊断

az configure

管理 CLI 默认值(output 格式、默认 location、默认 group 等)。

--defaults;--list-defaults

az configure --defaults location=eastus group=rg-prod
az upgrade

升级 Azure CLI 到最新版本(仅 Linux——Windows 上需通过安装程序升级)。

az upgrade
az extension list

列出已安装的 CLI 扩展(az aks-preview、az spring ...)。

list;show;add;remove;update

az extension add --name aks-preview
az --debug <cmd>

把 HTTP 请求 / 响应的调试信息打印到 stderr。

--debug;--only-show-errors

az --debug vm list 2> az.log

相关命令速查

关于 Azure CLI

Azure CLI(`az`)是微软官方推出的用于管理 Azure 资源的命令行工具。2014 年发布,基于 Python 构建,`az` 跨平台(Windows、macOS、Linux),发布为单一 MSI / pkg / apt / brew 安装包,如今已成为此前需要 PowerShell `Az` 模块的每个 Azure 场景的默认 CLI。当前稳定版本线是 Azure CLI 2.60+(Python 3.11+ 运行时)。`az` 采用 动词-名词 约定:`az <verb> <noun>`(例如 `az storage blob upload`、`az aks get-credentials`、`az vm list`)。命令支持 JMESPath 查询(`--query`)、表格 / json / yaml / tsv 输出(`--output`),以及资源级别的自动提示补全。身份验证支持交互式 `az login`、service principal、managed identity 以及 OIDC / federated credentials(CI 中无需密钥)。Azure CLI 采用 MIT 协议,除显式 API 调用外不会上传源代码。

速查页版本 1.0.0