如果您有微軟 Azure 帳戶,而且仍然只通過 Azure Portal 管理資源,那您就錯過了。 減少點擊並提高生產力的最佳方法之一是使用 Azure CLI。
Azure CLI 是一個跨平台的工具集,用 Python 編寫,允許您從命令行管理幾乎所有的 Azure 資源。 無論您使用什麼操作系統,Azure CLI 都能提供一致的體驗。
在本教程中,您將學習如何開始使用 Azure CLI。 您將學習如何進行初始配置,並使用各種 Azure CLI 命令創建和刪除一些常見資源。
先決條件
本文將是一個教程。 如果您計劃一步一步地跟隨,您至少需要以下其中之一:
- Azure CLI – 本教程將在 Docker 容器上使用 v2.20.0,但這些命令在其他平台上同樣有效。
- 一個 Azure 雲帳戶 – 這個教程可以使用免費帳戶完成。
- 通過微軟帳戶創建 Azure 資源的權限,也許可以使用 服務主體。
使用 az help
獲取幫助
在執行 Azure CLI 中的任何命令之前,請先學會使用 az help
命令。Azure CLI 提供了豐富且充足的幫助。本教程不可能涵蓋所有命令,因此學會如何使用 az help
是至關重要的。
首先,讓我們在幫助系統中導航,看看如何查找各種命令的更多信息。
導航典型幫助示例
示例是最好的學習材料。讓我們通過查找在 Azure 中創建 資源組 所需命令的示例來介紹如何使用 Azure CLI 幫助系統。
打開您的終端:
1. 執行 az help
命令。此命令返回兩種類型的輸出;組和子組。
命令按組進行組織。通常會看到教程(甚至是文檔)將組稱為“命令”。組以階層方式分解,每個組代表一個 Azure 服務。

2. 向下滾動,直到找到名為 group
的子組。您可以從下面的描述中看到,此子組負責管理資源組。組按字母順序排列。

3. 一旦找到所需的命令,使用 --help
参数运行它。使用 --help
参数不会进行任何更改;它会返回组或命令的所有帮助文档。
您可以在下面看到 group
组和一个单独的子组 (lock
),其中包含各种命令。

4. 由于您想要创建资源组,因此 create
命令似乎是正确的命令。现在,通过在原始 az group
引用后添加一个更细粒度的命令并查找帮助来继续获取更多具体信息。
在任何命令上引用
--help
参数以查看其帮助文档。
现在,--help
参数显示有关 create
命令的信息。命令有如下所示的参数。在此示例中,您现在具有指定资源组和所需 location
的参数。

使用 az find
查找语法示例
如果您无法轻松地使用 --help
参数找到所需的组或命令,请尝试使用 az find
命令。此命令会使用组/命令引用搜索语法示例,如下所示。
例如,与上述使用 --help
导航帮助系统相反,使用单行命令 az find
执行相同的任务。

使用 az configure
分配默认配置
Azure CLI 具有許多命令和功能。每個功能都有各種配置,例如日誌記錄和數據收集偏好設置。在首次設置 Azure CLI 時,您應該完成的第一項任務之一是運行 az configure
命令。
在一個命令中,az configure
命令將引導您完成三種不同的設置:
- 輸出格式 – Azure CLI 返回輸出的七種不同方式
- 日誌記錄 – 將所有 Azure CLI 活動記錄到文件的能力
- 遙測 – 啟用或禁用將有關如何使用 Azure CLI 的信息發送給 Microsoft
要開始,假設您已經安裝了 Azure CLI:
1. 開啟終端(Bash 或 PowerShell)。
2. 輸入命令 az configure
。系統將提示您一個簡單的菜單,告知您所有設置將存儲在 .azure/config 文件中。按 Y 繼續。

3. 這個命令首先會提示您選擇所需的默認輸出格式。在此處,選擇您需要的輸出格式。默認輸出格式設置了在執行命令或收到錯誤消息後屏幕上顯示的輸出方式。

下面的示例使用了
output
參數。無論您選擇了哪種格式作為默認值,您都可以始終使用output
參數覆蓋默認輸出。
JSON(Java 物件表示法)

JSONC(帶有註釋\著色的 Java 物件表示法)

表格

TSV(以制表符分隔的值)

YAML(YAML 不是標記語言)

YAMLC(帶有註釋\著色的 YAML)

無 – Azure CLI 只會返回錯誤或警告。
4. 設置輸出格式後,Azure CLI 將提示您啟用日誌記錄。在這裡,選擇Y
以將所有命令和輸出記錄到文件中。

在這裡選擇Y
將創建一個日誌,其中包含使用 CLI 時收集的所有命令和輸出。此日誌位於 Linux 和 macOS 中的$HOME/.azure/logs目錄中,而在 Windows 中則位於%USERPROFILE%\.azure\logs。
下面您可以看到日誌的示例。

az login
5. 然後,Azure CLI 將要求您向 Microsoft 發送遙測數據。在這裡選擇Y
將向 Microsoft 發送有關您如何使用 Azure CLI 的匿名信息。

有關微軟收集的信息,請參閱從 Azure CLI 收集匿名數據的Microsoft 的隱私信息。
最後,az configure
將要求設置 CLI 對象緩存存活時間值。您應該將此設置為默認值 10。

只有在微軟建議時,當您使用 Azure CLI 解決問題時,才更改 CLI 對象 TTL。
設置默認參數值
Azure CLI 具有相同參數的各種命令,例如位置和組。與其每次為每個命令輸入這些參數的值,不如設置默認參數值。
要設置參數默認值,請使用 --defaults
參數在 az configure
上。此參數允許您定義參數及其默認值。例如,也許您已經厭倦了為各種命令輸入 location
和 group
。沒問題。設置一些默認值。
以下示例將默認區域(location
)設置為 westus2
,並將資源組(group
)設置為 MyResourceGroup
。現在,每當您運行任何具有 location
或 group
參數的 Azure CLI 命令時,Azure CLI 將自動將值傳遞給這些參數。
如果您正在使用容器,您可以設置單獨的容器來管理特定區域、訂閱或資源群組,方法是在每個容器實例中設置默認值。您可以使用 az configure 在每個容器中創建 4 個容器,並使用上述命令設置默認區域和默認資源群組。
使用瀏覽器進行身份驗證
您現在已經了解了使用 Azure CLI 的基本知識,但實際上還沒有做任何事情。現在讓我們邁出這一步,創建一些資源!但首先,您必須使用以下命令登錄到 Azure:az login
。
如果您有多個 Azure 訂閱,運行
az account list
命令查找所有訂閱。找到訂閱後,運行az account set --subscription <subscription name>
將訂閱設置為會話中使用的訂閱。您也可以使用全局subscription
參數明確指定訂閱。
1. 打開終端並運行 az login
。此命令會打開一個瀏覽器窗口,將您帶到一個頁面以提供您的用戶名和密碼。

2. 提供您的 Azure 帳戶憑據,或按如下所示點擊現有的用戶帳戶。

3. 一旦 Azure 驗證您的帳戶,關閉您的網頁瀏覽器,返回到您的 Azure CLI 會話。 az login
命令會返回有關您的訂閱的信息,以確認您現在具有驗證令牌。

使用設備代碼進行身份驗證
如果您在沒有瀏覽器的系統上,或想在另一台電腦上下載認證令牌,請使用--use-device-code
參數。此參數允許用戶使用從其他設備提供的代碼來進行身份驗證。
要使用設備代碼進行身份驗證,請打開終端並:
運行az login
使用--use-device-code
參數。這次,az login
命令將不會打開瀏覽器。相反,它將提供一個代碼供在另一台計算機上的設備登錄頁面使用。

2. 在另一台計算機上,瀏覽至https://microsoft.com/devicelogin,粘貼提供的代碼,然後點擊下一步。

3. 現在輸入您的憑據以進行Azure身份驗證,並關閉您的瀏覽器(如果不需要)。

回到Azure CLI會話中,az login
將返回您的訂閱信息。

Azure CLI輸出選項
如前所述,Azure CLI可以以不同的方式返回輸出。您可以定義默認輸出並使用output
參數即時更改它。但是output
參數並不是改變輸出行為的唯一參數。
要更改冗長性、過濾輸出或修改錯誤輸出行為,請使用以下參數。
query
– 使用 JMESPath 查询语言来过滤所有命令的输出。参考 this article 了解更多信息。verbose
– 返回有关在Azure中创建的资源以及有关这些资源的扩展信息。debug
– 返回有关用于调试的CLI操作的低级信息。only-show-errors
– 显示错误并抑制警告。
创建资源组
现在,您已经通过Azure进行了身份验证,可以自由地管理您有权限的所有资源。让我们首先运行创建资源组的常见示例。
假设您在安装了Azure CLI的计算机上,并且已经使用CLI进行了Azure身份验证:
使用以下命令创建一个名为 TESTGrp 的 resource-group
,该命令将在北欧 location
中创建资源组,并返回所有 verbose
输出。

2. 确认Azure是否已创建资源。 az group list
注意您已经创建了名为 TESTGrp 的资源组。

3. 或許您有許多資源群組需要篩選。不必捲動,可使用query
參數來縮小列表。以下命令僅使用JMESPath來返回北歐location
中的資源群組。

創建一個 Linux 虛擬機
對於這個最後的示例,學習如何使用 Azure CLI 創建一個Azure VM。創建虛擬機以及其周圍的配置是一個很好的技能。創建 Azure VM 是您在雲旅程中可能反复執行的常見任務。
在這個練習中,您將使用默認設置創建一個 Azure Linux VM,並將其部署到上一節中創建的資源群組中。
Azure VM 由許多 Azure 資源組成,彼此協同工作,如磁碟映像、虛擬網路適配器、虛擬機器等。
要使用 Azure CLI 創建 Azure VM:
1.執行az vm image list
命令,查找 VM 的所有可用映像。此命令返回所有的快取/離線映像。az vm image list
對於此演示,選擇下面突出顯示的UbuntuLTS
映像。

Azure CLI 會維護所有 VM 映像的快取列表。如果 UbuntuLTS 映像沒有顯示出來,請使用
all
參數獲取更新的列表。
2. 一旦您知道要用於虛擬機的磁碟映像,請使用 az vm create
創建該虛擬機。下面的程式碼片段創建了一個名為 name
的 VM ATAVM1,使用了 UbuntuLTS image
在 resource-group
TESTGrp 中。當 Azure 創建虛擬機時,它將生成 SSH 金鑰(generate-ssh-keys
)以便以後連接,並以 JSON (output
) 返回輸出。
使用尾隨反斜杠將單個較長的 Azure CLI 命令分隔為多行。
az vm create
命令有許多配置建立 VM 的方法。請記住,幫助系統是您的朋友!az vm create --help
如果命令成功初始化,您應該會看到類似下面截圖的內容。

使用
verbose
參數,您將看到實際的 REST API 方法和參數以綠色顯示。
3. 當部署完成時,輸出的最後一部分將顯示有關您的 VM 的信息。對於此演示,最重要的是複製公共 IP 地址。您將需要此地址以通過互聯網連接到 VM。

此時,請使用上面找到的VM公共IP地址通過SSH連接到Ubuntu VM。要這樣做,打開您喜歡的SSH客戶端,如下所示連接到VM,使用azureuser用戶。默認情況下,az vm create
命令創建一個名為azureuser的本地用戶。

您能夠無需密碼通過SSH連接到VM,是因為在創建VM時使用了
generate-ssh-keys
參數。這將私鑰下載到您的~/.ssh目錄,並將公鑰上傳到VM,使您能夠進行身份驗證。
5. 現在清理VM和資源組。
下一步
您現在應該已經準備好使用Azure CLI。您現在可以開始管理一些資源了!那麼接下來呢?