使用 Azure CLI 管理 Batch 資源

您可以使用 Azure 命令列介面 (Azure CLI) 來管理 Azure Batch 帳戶和資源。 有命令可用來建立和更新 Batch 資源,例如集區、作業和工作。 針對您透過 Batch API、PowerShell Cmdlet 和 Azure 入口網站執行的許多相同工作,您也可以建立指令碼。

您可以在 Azure Cloud Shell 中執行 Azure CLI,或在本機安裝 Azure CLI。 有適用於 Windows、Mac 和 Linux 作業系統 (OS) 的版本。

本文說明如何使用 Azure CLI 來管理 Batch 帳戶和資源。

設定 Azure CLI

選擇您想要如何設定 Azure CLI:

如果您不熟悉使用 Azure CLI,則繼續之前,請參閱開始使用 Azure CLI

如果您先前已在本機安裝 Azure CLI,請務必將安裝更新為最新版本

使用 Azure CLI 進行驗證

若要搭配 Batch 使用 Azure CLI,請先登入您的 Azure 帳戶,然後登入您的 Batch 帳戶

登入 Azure 帳戶

若要使用 Azure CLI,請先登入您的 Azure 帳戶。 此步驟可讓您存取 Azure Resource Manager 命令,包括 Batch Management 服務命令。 然後,您可以執行命令來管理 Batch 帳戶、金鑰、應用程式封裝和配額。

有兩種方式可讓您在 Azure CLI 中驗證 Azure 帳戶。 若要自行執行命令,請以互動方式登入 Azure CLI。 Azure CLI 會快取您的認證,之後可以使用這些相同的認證將您登入 Batch 帳戶。 若要從指令碼或應用程式執行命令,請使用服務主體登入 Azure CLI

若要以互動方式登入 Azure CLI,請執行 az login

az login

登入 Batch 帳戶

接下來,在 Azure CLI 中使用 az batch account login 命令登入 Batch 帳戶。 此步驟可讓您存取 Batch 服務命令。 然後,您可以管理 Batch 資源,例如集區、作業和工作。

有兩種方式可讓您在 Azure CLI 中驗證 Batch 帳戶。 預設方法是使用 Microsoft Entra ID 進行驗證。 我們建議在大部分情況下使用此方法。 另一個選項是使用共用金鑰驗證

如果您要建立 Azure CLI 指令碼將 Batch 命令自動化,則可以使用任一驗證方法。 在某些情況下,共用金鑰驗證可能比建立服務主體簡單。

使用 Microsoft Entra 識別碼驗證

使用 Batch 帳戶進行驗證的預設方法是透過 Microsoft Entra ID。 以互動方式或使用服務主體登入 Azure CLI 時,您可以使用這些相同的快取認證,透過 Microsoft Entra ID 登入 Batch 帳戶。 此驗證方法也提供 Azure 角色型存取控制 (Azure RBAC)。 使用 Azure RBAC 時,使用者存取權取決於指派的角色,而不是帳戶金鑰。 您只需要管理 Azure 角色,而不是帳戶金鑰。 所以 Microsoft Entra ID 會處理存取和驗證。

若要使用 Microsoft Entra ID 登入 Batch 帳戶,請執行 az batch login。 請務必包含必要的參數來指定 Batch 帳戶的名稱 (-n) 和資源群組的名稱 (-g)。

az batch account login -g <your-resource-group> -n <your-batch-account>

使用共用金鑰進行驗證

您也可以使用共用金鑰驗證來登入 Batch 帳戶。 此方法使用帳戶存取金鑰來驗證 Batch 服務的 Azure CLI 命令。

若要使用共用金鑰驗證登入 Batch 帳戶,請使用 執行 az batch login 並指定 --shared-key-auth 參數。 請務必包含必要的參數來指定 Batch 帳戶的名稱 (-n) 和資源群組的名稱 (-g)。

az batch account login -g <your-resource-group> -n <your-batch-account> --shared-key-auth

了解 Batch 命令

Azure CLI 參考文件會列出所有適用於 Batch 的 Azure CLI 命令

若要列出 Azure CLI 中的所有 Batch 命令,請執行 az batch -h

有多個適用於一般 Batch 工作的範例 CLI 指令碼。 這些範例示範如何在 Azure CLI 中使用 Batch 的許多可用命令。 您可以了解如何建立和管理 Batch 帳戶、集區、作業及工作。

使用 Batch CLI 延伸模組命令

您可以使用 Batch CLI 延伸模組來執行 Batch 作業,而不需撰寫程式碼。 此延伸模組提供命令讓您在 Azure CLI 中使用 JSON 範本建立集區、作業和工作。 此延伸模組也提供命令來連線到已連結至 Batch 帳戶的 Azure 儲存體帳戶。 然後,您可以上傳作業輸入檔,以及下載作業輸入檔。

使用 JSON 建立資源

只要使用命令列參數就可以建立大部分的 Batch 資源。 但某些功能需要您指定 JSON 組態檔。 JSON 檔案包含新資源的設定詳細資料。 例如,您必須使用 JSON 檔案來指定啟動工作的資源檔。

例如,若要使用 JSON 檔案來設定新的 Batch 集區資源:

az batch pool <your-batch-pool-configuration>.json

當您指定新資源的 JSON 檔案時,請勿在命令中使用其他參數。 此服務只使用 JSON 檔案來設定資源。

Batch REST API 參考文件列出建立資源所需的任何 JSON 語法。

若要查看建立資源所需的 JSON 語法,請參閱 Batch REST API 參考文件。 前往資源作業參考頁面中的範例一節。 然後,尋找標題為 [新增 <資源類型>] 的小節。 例如,新增基本工作。 使用範例 JSON 程式碼作為組態檔的範本。

如需可指定 JSON 檔案的範例指令碼,請參閱使用 Batch 執行作業和工作

有效率地查詢 Batch 資源

您可以使用 list 命令來查詢 Batch 帳戶並列出所有資源。 例如,若要列出帳戶中的集區和作業中的工作︰

az batch pool list
az batch task list --job-id <your-job-id>

若要限制 Batch 查詢傳回的資料量,請指定 OData 子句。 所有篩選都發生在伺服器端,因此您只會收到您要求的資料。 使用這些 OData 子句來節省 list 作業所耗的頻寬和時間。 如需詳細資訊,請參閱設計 Batch 資源的有效清單查詢

子句 描述
--select-clause [select-clause] 傳回每個實體的屬性子集。
--filter-clause [filter-clause] 傳回符合指定之 OData 運算式的實體。
--expand-clause [expand-clause] 取得單一基礎 REST 呼叫中的實體資訊。 expand 子句目前只支援 stats 屬性。

若要看範例指令碼範示如何使用這些子句,請參閱使用 Batch 執行作業和工作

疑難排解

若要取得任何 Batch 命令的說明,請在命令結尾加上 -h。 請勿新增其他選項。 例如,若要取得建立 Batch 帳戶的說明,請執行 az batch account create -h

若要傳回詳細的命令輸出,請在命令結尾加上 -v-vv。 使用這些參數來顯示完整的錯誤輸出。 -vv 旗標傳回實際的 REST 要求和回應。

若要以 JSON 格式檢視命令輸出,請在命令結尾加上 --json。 例如,若要顯示 pool001 集區的屬性,請執行 az batch pool show pool001 --json。 然後,複製並修改輸出,以使用 JSON 組態檔建立 Batch 資源

一般 Azure CLI 疑難排解

Azure CLI 可以在數個殼層環境中執行,但格式稍有不同。 如果使用 Azure CLI 命令時出現非預期的結果,請參閱如何順利使用 Azure CLI

下一步