跳轉至

Azure CLI

概述

Azure CLI(Azure Command-Line Interface)係微軟推出嘅跨平台命令行工具,用嚟管理 Azure 上嘅所有資源。佢同 Azure Portal 互為表裏,但更適合自動化、編排同埋批次操作。對香港同大中華區嘅開發者嚟講,Azure CLI 尤其常用於管理 Azure OpenAIAzure Speech(STT/TTS)、虛擬機器、Kubernetes(AKS)同埋各類 PaaS 服務。透過簡潔嘅 az 指令,你可以喺 bash、PowerShell 或者 Windows Terminal 入面直接建立、查詢、修改同刪除雲端資源,而唔使離開終端機。Azure CLI 係開放原始碼,採用 Apache 2.0 授權,社群活躍,更新頻密,適合 DevOps 同 SRE 場景。

架構

Azure CLI 本質上係一個以 Python 寫成嘅命令列應用程式,透過 REST API 同 Azure Resource Manager(ARM)溝通。當你執行 az 指令時,佢會先解析參數,建立對應嘅 HTTP 請求,然後統一送往 ARM Endpoint。所有資料交換都經 TLS 加密,並支援 AAD(Azure Active Directory)令牌驗證。

架構可以分為四層:

  • 命令層az <group> <subgroup> <command>,例如 az vm create
  • 參數層:支援位置參數、旗標、JSON 字串或者檔案輸入。
  • 核心層:負責認證、訂閱管理、輸出格式化(JSON/TSV/table)、HTTP 重試同錯誤處理。
  • 擴充層:透過 az extension 指令安裝額外功能,例如 azure-ai-mlazure-firewall 等。

值得留意嘅係,Azure CLI 唔係一個重型本地服務,而係一個瘦身用戶端。佢唔會喺背景長駐,每次執行都係獨立嘅進程,因此好適合喺 Docker 容器、CI/CD pipeline 或者 Azure Cloud Shell 入面執行。

部署

部署 Azure CLI 可以採用多種方法,視乎你嘅作業系統同工作流程:

  • Linux(Ubuntu/Debian):加入微軟嘅 apt 套件庫,執行 sudo apt-get update && sudo apt-get install azure-cli
  • macOS:透過 Homebrew 安裝:brew update && brew install azure-cli
  • Windows:使用 MSI 安裝包或者 winget:winget install Microsoft.AzureCLI
  • Python 環境:執行 pip install azure-cli,但官方建議使用系統套件管理器以解決依賴衝突。
  • Docker 容器:直接由 mcr.microsoft.com/azure-cli 拉取映像,例如 docker run -it mcr.microsoft.com/azure-cli:latest bash。呢個方法特別適合唔想污染本機環境嘅情況,亦可以同 docker Compose 一齊編排。

我個人建議喺生產環境使用固定版本,並且將命令寫入 shell script 或者 Makefile,確保可重現。若果你同 cloudflare-tunnel 一齊使用,可以透過 Tunnel 將本機嘅 Azure 管理端點安全噉暴露畀內部監控系統,而唔需要直接將 443 埠開放出街。

配置

配置 Azure CLI 嘅過程包括以下步驟:

  1. 登入:執行 az login,瀏覽器會自動彈出,或者可以透過裝置碼登入。對於 service principal,使用 az login --service-principal -u <client-id> -p <secret> --tenant <tenant-id>
  2. 設定訂閱:用 az account set --subscription "<名稱>" 揀選目標訂閱。喺管理 azure-openai 或 STT 之前,要確認服務已經喺對應訂閱區域(例如 eastasia)註冊。
  3. 輸出格式:透過 az configure --defaults output=json 將輸出設定為 JSON,方便 jq 處理。
  4. 偏好設定:可以設定 cloud-name(例如 Azure China Cloud)、defaults.location 等。
  5. 擴充功能:若你需要用 Machine Learning 或 OpenAI 新功能,執行 az extension add --name azure-ai-mlaz extension add --name azure-ai-openai

針對 Azure OpenAI,常見配置係先建立資源,再獲取端點同金鑰:

az cognitiveservices account create \
  --name my-openai \
  --resource-group my-rg \
  --kind OpenAI \
  --sku S0 \
  --location eastasia

之後你可以用 az cognitiveservices account keys list 攞 API Key,並將 key 傳畀 litellm 或應用程式作為環境變數。STT(Speech)資源管法類似,--kind SpeechServices 就得。

維運與監控

日常維運方面,Azure CLI 提供大量指令協助管理同監控:

  • 資源健康az resource health show --resource-id <id>,快速判斷資源是否可用。
  • 活動日誌az monitor activity-log list --resource-group my-rg,查看資源管理層面嘅操作。
  • 計量指標az monitor metrics list --resource <id> --metric "Latency",對 Azure OpenAI 或 STT 嘅請求延遲進行監控。
  • 診斷設定az monitor diagnostic-settings create,將 Platform Logs 或 Metrics 導流到 Log Analytics Workspace 或 Event Hub。
  • 自動化腳本:透過 az group export 將現有資源群組匯出為 ARM Template,再配合 Terraform 或 Azure DevOps Pipeline 做基礎設施即代碼(IaC)。

如果你喺容器環境用 Azure CLI,建議加入 automatic log rotation、健康檢查同上文提到嘅 Cloudflare Tunnel 做安全存取。另外,可以用 az rest 執行 API 層面嘅自訂查詢,尤其係當現有命令未覆蓋新功能時,非常實用。

監控上,Azure OpenAI 嘅常見指標包括 Token 消耗、調用次數、有限時段內的字數限制(TPM/RPM)。你可以定期執行:

az monitor metrics list \
  --resource <openai-resource-id> \
  --metric "TotalTokenCount" \
  --interval "PT1H" \
  --output table

呢啲數據可以幫助你估算成本同容量,仲可以同 docker 內部嘅服務用量做關聯分析。

常見問題

  • 登入後命令失敗:多數係因為訂閱選錯咗,執行 az account show 檢查。亦可能係權限不足,請確認角色係 Contributor 或者 Cognitive Services OpenAI User
  • 擴充功能版本衝突:例如 azure-ai-ml 同舊版 CLI 核心唔兼容,解決方法係 az extension update --name <name>,或者將 CLI 升級到最新穩定版。
  • 網絡代理問題:若企喺公司網絡入面,需要設定 HTTP_PROXYHTTPS_PROXY 環境變數,並確認 CA 憑證正確。
  • 連唔到 Azure China:需要使用中國區 Cloud,執行 az cloud set --name AzureChinaCloud,同埋登入端點唔同。
  • Azure OpenAI 未部署模型:就算你用 Azure CLI 建立咗 Cognitive Services 資源,仍需喺 Azure AI Studio 入面部署 GPT 或者 Whisper 模型,CLI 本身唔會自動部署。
  • 輸出亂碼:喺 PowerShell 入面,建議執行 az configure --defaults output=json 並設置 chcp 65001,避免 UTF-8 字元出錯。

相關鏈接


撰寫人:wiki.benhoweb.com 技術編輯部
最後更新:2026年(以官方文件為準)

來源

自動生成(2026-08-19 容器覆蓋率補完第二批)