使用 Azure Batch 處理平行工作負載通常是透過使用其中一種 Batch API 以程式化方式來完成。 您的用戶端應用程式或服務可以使用 Batch API 與 Batch 服務進行通訊。 透過 Batch API,您可以建立及管理計算節點的集區,這些節點可以是虛擬機器或雲端服務。 接著,您可以排程作業與工作在這些節點上執行。
您可以為組織高效率地處理大規模工作負載,或為客戶提供服務前端,讓他們能夠依需求或依排程,在一個、數百個,甚至數千個節點上執行作業與工作。 您也可以在 Azure Data Factory 之類的工具所管理的大型工作流程中使用 Azure Batch。
秘訣
若要深入了解 Azure Batch 中使用的功能和工作流程,請參閱 Batch 服務工作流程和資源。
用於 Batch 開發的 Azure 帳戶
在開發 Batch 解決方案時,您會在 Azure 訂用帳戶中使用下列帳戶:
- Batch 帳戶:Azure Batch 資源 (包括集區、計算節點、作業與工作) 都會與一個 Azure Batch 帳戶相關聯。 當您的應用程式對 Batch 服務提出要求時,可以使用 Azure Batch 帳戶名稱、帳戶的 URL 及存取金鑰或 Microsoft Entra 權杖,來驗證此要求。 您可以在 Azure 入口網站中或以程式設計方式建立 Batch 帳戶。
- 儲存體帳戶:Batch 包含內建支援,可處理 Azure 儲存體中的檔案。 幾乎所有 Batch 使用情境都會使用 Azure Blob 儲存體,用於暫存工作所執行的程式與其處理的資料,以及儲存這些工作所產生的輸出資料。 每個 Batch 帳戶通常都會與對應的儲存體帳戶相關聯。
服務等級和管理等級 API
Azure Batch 提供兩組 API:一組用於服務層級,另一組用於管理層級。 這兩組 API 的命名經常相似,但回傳的結果不同。
只有透過管理 API 所執行的動作,才會記錄在活動記錄中。 服務層級 API 會略過 Azure Resource Manager (management.azure.com) 層,因此不會被記錄。
例如,用於刪除集區的 Batch 服務 API 會直接針對 Batch 帳戶執行:DELETE {batchUrl}/pools/{poolId}
相較之下,用於刪除集區的 Batch 管理 API 則是針對 management.azure.com 層級執行:DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}
Batch 服務 API
您的應用程式與服務可以直接呼叫 REST API,或使用下列一種或多種用戶端程式庫來執行與管理 Azure Batch 的工作負載。
| API | API 參考資料 | 下載 | 教學課程 | 程式碼範例 | 其他資訊 |
|---|---|---|---|---|---|
| 批次 REST | Azure REST API - 文件 | N/A | - | - | 支援版本 |
| Batch .NET SDK | 適用於 .NET 的 Azure SDK - 文件 | NuGet | 教學課程。 | GitHub | 版本資訊。 |
| Batch Python SDK | 適用於 Python 的 Azure SDK - 文件 | PyPI | 教學課程 | GitHub | 讀我檔案 |
| 批次 JavaScript | 適用於 JavaScript 的 Azure SDK - 文件 | npm | 教學課程 | - | 讀我檔案 |
| 批次 Java | 適用於 Java 的 Azure SDK - 文件 | Maven | - | GitHub | 讀我檔案 |
Batch 管理 API
Batch 的 Azure Resource Manager API 可提供對 Batch 帳戶的程式化存取。 透過這些 API,您可以經由 Microsoft.Batch 資源提供者,以程式化方式管理 Batch 帳戶、配額、應用程式套件及其他資源。
| API | API 參考資料 | 下載 | 教學課程 | 程式碼範例 |
|---|---|---|---|---|
| Batch 管理 REST | Azure REST API - 文件 | - | - | GitHub |
| Batch Management .NET | 適用於 .NET 的 Azure SDK - 文件 | NuGet | 教學課程。 | GitHub |
| Batch 管理 Python | 適用於 Python 的 Azure SDK - 文件 | PyPI | - | - |
| Batch 管理 JavaScript | 適用於 JavaScript 的 Azure SDK - 文件 | npm | - | - |
| Batch 管理 Java | 適用於 Java 的 Azure SDK - 文件 | Maven | - | - |
Batch 命令列工具
這些命令列工具提供與 Batch 服務 API 與 Batch 管理 API 相同的功能:
- Batch PowerShell Cmdlet:Azure PowerShell 模組中的 Azure Batch Cmdlet 可讓您使用 PowerShell 來管理 Batch 資源。
- Azure CLI:Azure CLI 是一套跨平台的工具集,提供用於與多項 Azure 服務互動的殼層命令,其中包括 Batch 服務與 Batch 管理服務。 如需詳細資訊,請參閱使用 Azure CLI 管理 Batch 資源。
其他用於應用程式開發的工具
以下其他工具可能有助於建置與偵錯您的 Batch 應用程式與服務。
-
Azure 入口網站︰您可以在 Azure 入口網站中建立、監視及刪除 Batch 集區、作業與工作。 在執行作業期間,您可以檢視這些及其他資源的狀態資訊,甚至還能從集區中的計算節點下載檔案。 例如,您可以在進行疑難排解時下載失敗的工作
stderr.txt。 您也可以下載遠端桌面 (RDP) 檔案,以用來登入計算節點。 - Azure Batch Explorer:Batch Explorer 是一款免費、功能豐富的獨立用戶端工具,可協助建立、偵錯及監視 Azure Batch 應用程式。 下載適用於 Mac、Linux 或 Windows 的安裝套件。
- Azure 儲存體總管:雖然 Storage Explorer 並非嚴格意義上的 Azure Batch 工具,但在開發與偵錯 Batch 解決方案時仍相當實用。
其他資源
- 若要了解如何記錄 Batch 應用程式的事件,請參閱 Batch 計量、警示與記錄,以進行診斷評估與監視。
- 如需 Batch 服務所引發之事件的參考資訊,請參閱 Batch 分析。
- 如需計算節點環境變數的相關資訊,請參閱 Azure Batch 執行階段環境變數。
後續步驟
- 了解 Batch 服務工作流程與主要資源,例如集區、節點、工作與工作。
- 開始使用適用於 .NET 的 Azure Batch 程式庫,以了解如何使用 C# 與 Batch .NET 程式庫,透過常見的 Batch 工作流程來執行簡單的工作負載。 也會提供 Python 版本和 JavaScript 教學課程。
- 下載 GitHub 上的 程式碼範例,查看 C# 和 Python 如何與 Batch 相互作用,以排程和處理範例工作負載。