Übersicht über Batch-APIs und -Tools
Die Verarbeitung paralleler Workloads mit Azure Batch wird üblicherweise programmgesteuert mit einer der Batch-APIs durchgeführt. Ihre Clientanwendung oder Ihr Dienst kann mithilfe der Batch-APIs mit dem Batch-Dienst kommunizieren. Mithilfe der Batch-APIs können Sie Pools mit Computeknoten (virtuelle Computer oder Clouddienste) erstellen und verwalten. Anschließend können Sie die Ausführung von Aufträgen und Aufgaben auf diesen Knoten planen.
Sie können größere Workloads für Ihr Unternehmen auf effiziente Weise verarbeiten oder ein Dienst-Front-End für Ihre Kunden bereitstellen, damit sie Aufträge und Aufgaben – bedarfsgesteuert oder nach Zeitplan – auf einem, Hunderten oder Tausenden von Knoten ausführen können. Sie können Azure Batch auch als Teil eines größeren Workflows nutzen und mithilfe von Tools wie Azure Data Factory verwalten.
Tipp
Weitere Informationen zu den in Azure Batch verwendeten Features und dem Workflow finden Sie unter Workflow und Ressourcen des Batch-Diensts.
Azure-Konten für die Batch Entwicklung
Beim Entwickeln von Batch-Lösungen verwenden Sie die folgenden Konten in Ihrem Azure-Abonnement:
- Batch-Konto: Azure Batch-Ressourcen (einschließlich Pools, Computeknoten, Aufträgen und Aufgaben) werden einem Azure Batch-Konto zugeordnet. Wenn Ihre Anwendung eine Anforderung an den Batch-Dienst richtet, wird die Anforderung anhand des Azure Batch-Kontonamens, der URL des Kontos und entweder eines Zugriffsschlüssels oder eines Microsoft Entra-Tokens authentifiziert. Die Erstellung eines Batch-Kontos kann über das Azure-Portal oder programmgesteuert erfolgen.
- Speicherkonto: Batch unterstützt die Verwendung von Dateien in Azure Storage. In nahezu jedem Batch-Szenario wird Azure Blob Storage für das Staging der Programme, die von Ihren Aufgaben ausgeführt werden, und für die dabei verarbeiteten Daten sowie für die Speicherung der generierten Ausgabedaten verwendet. Jedes Batch-Konto ist normalerweise einem Speicherkonto zugeordnet.
APIs auf Dienst- und Verwaltungsebene
Azure Batch verfügt über zwei Sätze von APIs, einen für die Dienstebene und einen für die Verwaltungsebene. Ihre Namen sind oft ähnlich, aber sie führen zu unterschiedlichen Ergebnissen.
Nur Aktionen aus den Verwaltungs-APIs werden im Aktivitätsprotokoll nachverfolgt. APIs auf Dienstebene umgehen die Azure-Ressourcenverwaltungsschicht (management.azure.com) und werden nicht protokolliert.
Beispielsweise ist die API des Batch-Diensts zum Löschen eines Pools direkt auf das Batch-Konto ausgerichtet: DELETE {batchUrl}/pools/{poolId}
Die Batch-Verwaltungs-API zum Löschen eines Pools ist hingegen auf die Ebene „management.azure.com“ ausgerichtet: DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Batch/batchAccounts/{accountName}/pools/{poolName}
Batch-Dienst-APIs
Ihre Anwendungen und Dienste können direkte REST-API-Aufrufe ausgeben oder Ihre Azure Batch-Workloads unter Verwendung einer oder mehrerer der folgenden Clientbibliotheken ausführen und verwalten:
API | API-Referenz | Download | Lernprogramm | Codebeispiele | Weitere Informationen |
---|---|---|---|---|---|
Batch REST (in englischer Sprache) | Azure REST-API – Dokumentation | – | - | - | Unterstützte Versionen |
Batch .NET | Azure SDK für .NET – Dokumentation | NuGet | Tutorial | GitHub | Versionshinweise |
Batch Python | Azure SDK für Python – Dokumentation | PyPI | Tutorial | GitHub | Infodatei |
Batch-JavaScript | Azure SDK für JavaScript – Dokumentation | npm | Tutorial | - | Infodatei |
Batch Java | Azure SDK für Java – Dokumentation | Maven | - | GitHub | Infodatei |
Batch Management-APIs
Die Azure Resource Manager-APIs für Batch ermöglichen den programmgesteuerten Zugriff auf Batch-Konten. Mit diesen APIs können Sie Batch-Konten, Kontingente, Anwendungspakete und andere Ressourcen über den Microsoft.Batch-Anbieter programmgesteuert verwalten.
API | API-Referenz | Download | Lernprogramm | Codebeispiele |
---|---|---|---|---|
Batch Management – REST | Azure REST-API – Dokumentation | - | - | GitHub |
Batch Management .NET | Azure SDK für .NET – Dokumentation | NuGet | Tutorial | GitHub |
Batch Management – Python | Azure SDK für Python – Dokumentation | PyPI | - | - |
Batch Management-JavaScript | Azure SDK für JavaScript – Dokumentation | npm | - | - |
Batch Management – Java | Azure SDK für Java – Dokumentation | Maven | - | - |
Batch-Befehlszeilentools
Diese Befehlszeilentools bieten die gleiche Funktionalität wie die Batch-Dienst- und Batch Management-APIs:
- Batch-PowerShell-Cmdlets: Mit den Azure Batch-Cmdlets im Azure PowerShell-Modul können Sie Batch-Ressourcen mit PowerShell verwalten.
- Azure CLI: Die Azure CLI ist ein plattformübergreifendes Toolset mit Shellbefehlen für die Interaktion mit vielen Azure-Diensten, z.B. dem Batch-Dienst und dem Batch Management-Dienst. Weitere Informationen finden Sie unter Verwalten von Batch-Ressourcen mit Azure CLI.
Weitere Tools für die Anwendungsentwicklung
Diese zusätzlichen Tools können beim Entwickeln und Debuggen Ihrer Batch-Anwendungen und -Dienste hilfreich sein.
- Azure-Portal: Über das Azure-Portal können Sie Batch-Pools, -Aufträge und -Aufgaben erstellen, überwachen und löschen. Sie können Statusinformationen für diese und andere Ressourcen beim Ausführen der Aufträge anzeigen und sogar Dateien von den Serverknoten in Ihre Pools herunterladen. Beispielsweise können Sie bei der Problembehandlung die Datei
stderr.txt
einer fehlerhaften Aufgabe herunterladen. Außerdem können Sie RDP-Dateien (Remotedesktop) herunterladen, die sich zum Anmelden an Computeknoten eignen. - Weitere Informationen finden Sie unter Verwalten von Batch-Ressourcen mit Azure CLI. Ein Installationspaket für Mac, Linux oder Windows können Sie hier herunterladen.
- Azure Storage-Explorer: Dies ist zwar kein Azure Batch-Tool, aber Storage-Explorer kann Ihnen beim Entwickeln und Debuggen Ihrer Batch-Lösungen helfen.
Zusätzliche Ressourcen
- Weitere Informationen zum Protokollieren von Ereignissen in der Batch-Anwendung finden Sie unter Batch-Metriken, -Warnungen und -Protokolle für die Diagnoseauswertung und -überwachung.
- Referenzinformationen zu Ereignissen, die vom Batch-Dienst ausgelöst werden, finden Sie unter Batch-Analysen.
- Informationen zu Umgebungsvariablen für Serverknoten finden Sie unter Umgebungsvariablen der Azure Batch-Laufzeit.
Nächste Schritte
- Erfahren Sie mehr über den Workflow des Batch-Diensts und primäre Ressourcen wie Pools, Knoten, Aufträge und Aufgaben.
- Erste Schritte mit der Azure Batch-Bibliothek für .NET erfahren Sie, wie Sie mit C# und der Batch .NET-Bibliothek eine einfache Workload mit einem allgemeinen Batch-Workflow ausführen. Es stehen auch eine Python-Version und ein JavaScript-Tutorial zur Verfügung.
- Laden Sie die Codebeispiele von GitHub herunter. Diese zeigen, wie C# und Python mit Batch verknüpft werden können, um Beispielworkloads zu planen und zu verarbeiten.