共用方式為


Azure 開發人員 CLI 與 Azure CLI 概觀

Azure 提供多個命令行工具,可協助使用者與雲端服務互動。 其中兩個最常用的工具是 Azure 開發人員 CLIAzure CLI。 雖然這兩個選項可讓使用者在 Azure 上管理和部署資源,但它們是針對不同物件和使用案例所設計。 下列各節提供每個工具的概觀、醒目提示其差異,並提供比較,以協助您為不同的情況選取最佳工具。

什麼是 Azure 開發人員 CLI?

Azure 開發人員 CLI (azd) 是開發人員導向的命令行工具,其設計目的是簡化在 Azure 上建置、布建、部署及管理完整堆疊應用程式的程式。 主要功能包括:

  • 以應用程式生命週期階段為導向的高階命令,例如布建和部署
  • 範本系統,用來將基礎結構定義為應用程式的程式代碼和部署組態
  • 自動布建和部署應用程序資源
  • GitHub Actions 或 Azure Pipelines 的內建 CI/CD 管線設定
  • 常見應用程式架構的入門範本庫

什麼是 Azure CLI?

Azure CLI (az) 是一般用途的命令行介面,可用來管理 Azure 資源。 它提供一組完整的命令,以程式設計方式或以互動方式建立、設定、刪除及監視資源。 主要功能包括:

  • 對 Azure 資源的細微系統管理控制
  • 支援腳本和任務自動化
  • 與各種 Azure 服務和工具整合
  • 跨許多租用戶、訂用帳戶和環境的資源管理

工具如何不同?

雖然 Azure 開發人員 CLI 和 Azure CLI 都提供適用於 Azure 的命令列介面,但它們的用途和對象不同:

  • Azure 開發人員 CLI:藉由提供建置和部署應用程式的有意見工作流程,著重於簡化開發人員體驗。 它會抽象化資源管理的大部分複雜度,並針對以應用程式為中心的工作量身打造。
  • Azure CLI:提供對 Azure 資源的細微控制,並專為更廣泛的物件所設計,包括 IT 系統管理員、DevOps 工程師和開發人員。 它提供管理個別資源的彈性,但需要瞭解特定的 Azure 服務。

比較命令

您可以列印這兩個 CLI 工具的可用命令,以將這些差異可視化。 例如,執行 Azure Developer CLI 命令 azd help 來檢視工具和可用命令的相關信息:

Usage
  azd [command]

Commands
  Configure and develop your app
    auth        : Authenticate with Azure.
    config      : Manage azd configurations (ex: default Azure subscription, location).
    hooks       : Develop, test and run hooks for an application. (Beta)
    init        : Initialize a new application.
    restore     : Restores the application's dependencies. (Beta)
    template    : Find and view template details. (Beta)

  Manage Azure resources and app deployments
    deploy      : Deploy the application's code to Azure.
    down        : Delete Azure resources for an application.
    env         : Manage environments.
    package     : Packages the application's code to be deployed to Azure. (Beta)
    provision   : Provision the Azure resources for an application.
    up          : Provision Azure resources, and deploy your project with a single command.

  Monitor, test and release your app
    monitor     : Monitor a deployed application. (Beta)
    pipeline    : Manage and configure your deployment pipelines. (Beta)
    show        : Display information about your app and its resources.

上述輸出中的命令對應至高階開發流程相關問題,例如管理應用程式部署、設定及監控。

不過,如果您執行 az help Azure CLI 的命令,您會看到類似下列輸出的輸出:

Group
    az

Subgroups:
    account                       : Manage Azure subscription information.
    acr                           : Manage private registries with Azure Container Registries.
    ad                            : Manage Microsoft Entra ID (formerly known as Azure Active
                                    Directory, Azure AD, AAD) entities needed for Azure role-based
                                    access control (Azure RBAC) through Microsoft Graph API.
    advisor                       : Manage Azure Advisor.
    afd                           : Manage Azure Front Door Standard/Premium.
    aks                           : Manage Azure Kubernetes Services.
    ams                           : Manage Azure Media Services resources.
    apim                          : Manage Azure API Management services.
    appconfig                     : Manage App Configurations.
    appservice                    : Manage App Service plans.
    aro                           : Manage Azure Red Hat OpenShift clusters.
    backup                        : Manage Azure Backups.
    batch                         : Manage Azure Batch.
    bicep                         : Bicep CLI command group.
    billing                       : Manage Azure Billing.
    bot                           : Manage Microsoft Azure Bot Service.
    cache                         : Commands to manage CLI objects cached using the `--defer`
    
    (omitted for brevity...)

在上述輸出中,所有命令都著重於管理特定 Azure 資源的設定,例如 Azure 容器登錄或 Azure 計費服務。

比較功能

下表詳細說明 Azure 開發人員 CLI 與 Azure CLI 之間的主要差異:

功能性 Azure 開發人員 CLI (azd Azure CLI (az
主要對象 開發人員著重於建置雲端原生應用程式 開發人員、IT 系統管理員和 DevOps 工程師
主要使用案例 端對端應用程式生命週期管理 Azure 資源管理與管理
工作類型 布建和部署應用程序資源、CI/CD 管線設定 資源管理和腳本
命令行為 主觀且高階的常見工作流程命令 適用於細微控制的彈性低階命令
範本支援 包含常見架構的預先定義範本 沒有範本;需要手動資源設定
IaC 支援 IaC 工具的原生支援,例如 Bicep 和 Terraform 需要個別的 IaC 設定和整合
CI/CD 整合 自動化管線設定,以用於 GitHub Actions 或 Azure Pipelines 沒有內建的 CI/CD 自動化功能

比較使用案例

選擇正確的工具取決於您的特定需求和您想要完成的工作。 以下是每個工具在各種情境中的表現範例,以幫助您決定哪一個適合您的工作流程。

使用 Azure 開發人員 CLI 的時機

Azure 開發人員 CLI 最適合您需要管理應用程式開發和部署端對端工作流程的案例。 範例使用案例包括:

  • 以可攜式、可重複的方式封裝、布建和部署完整堆疊雲端原生應用程式
  • 使用預先定義的範本快速布建範例應用程式架構,以進行快速原型設計
  • 輕鬆設定 GitHub Actions 或 Azure Pipelines 的 CI/CD 管道

使用 Azure CLI 的時機

Azure CLI 適用於需要細微控制個別 Azure 資源或進階腳本功能的案例。 範例使用案例包括:

  • 建立、設定或刪除 Azure 資源
  • 使用自訂腳本將資源管理自動化
  • 監視和疑難解答 Azure 資源
  • 將資源管理整合到更廣泛的DevOps工作流程

藉由了解這些使用案例,您可以判斷哪一個工具更適合您的特定需求,或同時使用這兩個工具,將效率最大化。

結論

Azure 開發人員 CLI 和 Azure CLI 是針對不同物件和使用案例而設計的互補工具。 Azure 開發人員 CLI 可簡化開發人員的應用程式封裝、布建和部署,而 Azure CLI 則提供系統管理工作的細微控制。 視您的角色和需求而定,您可以使用一或兩種工具在 Azure 上達成目標。