Azure CLI¶
概述¶
Azure CLI(Azure Command-Line Interface)係微軟推出嘅跨平台命令行工具,用嚟管理 Azure 上嘅所有資源。佢同 Azure Portal 互為表裏,但更適合自動化、編排同埋批次操作。對香港同大中華區嘅開發者嚟講,Azure CLI 尤其常用於管理 Azure OpenAI、Azure 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-ml、azure-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 嘅過程包括以下步驟:
- 登入:執行
az login,瀏覽器會自動彈出,或者可以透過裝置碼登入。對於 service principal,使用az login --service-principal -u <client-id> -p <secret> --tenant <tenant-id>。 - 設定訂閱:用
az account set --subscription "<名稱>"揀選目標訂閱。喺管理 azure-openai 或 STT 之前,要確認服務已經喺對應訂閱區域(例如eastasia)註冊。 - 輸出格式:透過
az configure --defaults output=json將輸出設定為 JSON,方便jq處理。 - 偏好設定:可以設定
cloud-name(例如 Azure China Cloud)、defaults.location等。 - 擴充功能:若你需要用 Machine Learning 或 OpenAI 新功能,執行
az extension add --name azure-ai-ml或az 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_PROXY同HTTPS_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 字元出錯。
相關鏈接¶
- docker
- litellm
- cloudflare-tunnel
- azure-openai
- Terraform
- Kubernetes
- DevOps
撰寫人:wiki.benhoweb.com 技術編輯部
最後更新:2026年(以官方文件為準)
來源¶
自動生成(2026-08-19 容器覆蓋率補完第二批)