Batch API 和工具的概觀
使用 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 會略過 Azure 資源管理層 (management.azure.com) 且不會記錄。
例如,刪除集區的 Batch 服務 API \(部分機器翻譯\) 會直接以批次帳戶為目標: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 參考 | 下載 | 教學課程 | 程式碼範例 | 其他資訊 |
---|---|---|---|---|---|
Batch REST | Azure REST API - 文件 | N/A | - | - | 支援的版本 |
Batch .NET | 適用於 .NET 的 Azure SDK - 文件 | NuGet (英文) | 教學課程 | GitHub | 版本資訊 |
Batch Python | 適用於 Python 的 Azure SDK - 文件 | PyPI | 教學課程 | GitHub | 讀我檔案 |
Batch JavaScript | 適用於 JavaScript 的 Azure SDK - 文件 | npm \(英文\) | 教學課程 | - | 讀我檔案 |
Batch 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 服務和 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 是具有功能豐富和獨立用戶端的免費工具,可以協助建立、偵錯及監視 Azure Batch 應用程式。 下載適用於 Mac、Linux 或 Windows 的安裝套件。
- Azure 儲存體總管:嚴格來說,儲存體總管不算是 Azure Batch 工具,但卻是您開發和偵錯 Batch 解決方案時很實用的一個工具。
其他資源
- 若要了解如何記錄來自 Batch 應用程式的事件,請參閱用於診斷評估和監視的 Batch 計量、警示和記錄。
- 如需 Batch 服務所引發之事件的參考資訊,請參閱 Batch 分析。
- 如需計算節點環境變數的相關資訊,請參閱 Azure Batch 執行階段環境變數。
下一步
- 了解 Batch 服務工作流程和主要資源,例如集區、節點、作業和工作。
- 開始使用適用於 .NET 的 Azure Batch 程式庫 ,了解如何使用 C# 和 Batch .NET 程式庫,透過一般的批次工作流程來執行簡單的工作負載。 也會提供 Python 版本和 JavaScript 教學課程。
- 下載 GitHub 上的程式碼範例,查看 C# 和 Python 如何與 Batch 相互作用,以排程和處理範例工作負載。