Persistente Aufträge und Aufgabenausgabe

Eine in Azure Batch ausgeführte Aufgabe kann während der Ausführung Ausgabedaten erzeugen. Oft müssen Aufgabenausgabedaten gespeichert werden, damit sie von anderen Aufgaben des Auftrags, von der Clientanwendung, die den Auftrag ausgeführt hat, oder von beiden abgerufen werden können. Aufgaben schreiben Ausgabedaten in das Dateisystem eines Batch-Computeknotens, doch alle Daten im Knoten gehen verloren, wenn ein Reimaging ausgeführt wird oder der Knoten den Pool verlässt. Außerdem können Aufgaben eine Vermerkdauer für Dateien aufweisen, nach der die von der Aufgabe erstellten Dateien gelöscht werden. Aus diesen Gründen es ist wichtig, Aufgabenausgaben, die Sie später benötigen, in einem Datenspeicher wie Azure Storage beizubehalten.

Informationen zu den Optionen für Speicherkonten in Batch finden Sie unter Batch-Konten und Azure Storage-Konten.

Einige gängige Beispiele der Taskausgabe sind unter anderem:

  • Erstellte Dateien, wenn die Aufgabe Eingabedaten verarbeitet
  • Protokolldateien, die mit der Taskausführung in Verbindung stehen

In diesem Artikel werden verschiedene Optionen für die Beibehaltung von Ausgabedaten beschrieben. Sie können Ausgabedaten aus Azure Batch-Aufgaben und -Aufträgen in Azure Storage oder anderen Speichern beibehalten.

Optionen für das Beibehalten der Ausgabe

Es gibt mehrere Möglichkeiten, Ausgabedaten dauerhaft zu speichern. Wählen Sie die beste Methode für Ihr Szenario aus:

Batch-Dienst-API

Sie können die Batch-Dienst-API verwenden, um Ausgabedaten dauerhaft zu speichern. Geben Sie Ausgabedateien in Azure Storage für Aufgabendaten an, wenn Sie einem Auftrag eine Aufgabe oder eine Sammlung von Aufgaben hinzufügen.

Weitere Informationen finden Sie unter Beibehalten von Taskdateien mithilfe der Batch-Dienst-API in Azure Storage.

Batch-Dateikonventionenbibliothek

Der Batch-Dateikonventionenstandard ist eine optionale Gruppe von Konventionen zum Benennen von Aufgabenausgabedateien in Azure Storage. Der Standard stellt Benennungskonventionen für den Zielcontainer und Blobpfad einer Datei basierend auf den Namen des Auftrags und der Aufgabe bereit.

Optional können Sie den Dateikonventionenstandard zum Benennen Ihrer Ausgabedatendateien verwenden. Sie können stattdessen den Zielcontainer und den Blobpfad benennen. Wenn Sie den Dateikonventionenstandard verwenden, können Sie Ihre Ausgabedateien im Azure-Portal anzeigen.

Wenn Sie eine Batch-Lösung mit C# und .NET erstellen, können Sie die Batch-Dateikonventionenbibliothek für .NET verwenden. Die Bibliothek verschiebt Ausgabedateien in Azure Storage und benennt Zielcontainer und Blobs gemäß dem Batch-Dateikonventionenstandard.

Weitere Informationen finden Sie unter Beibehalten von Auftrags- und Taskdateien in Azure Storage mit der Batch-Dateikonventionenbibliothek für .NET.

Batch-Dateikonventionenstandard

Wenn Sie eine andere Sprache als .NET verwenden, können Sie den Batch-Dateikonventionenstandard in Ihrer eigenen Anwendung implementieren. Nutzen Sie dieses Verfahren, wenn:

  • Sie möchten ein gängiges Benennungsschema verwenden.
  • Sie möchten die Aufgabenausgabe im Azure-Portal anzeigen.

Benutzerdefinierten Lösung zur Dateiverschiebung

Sie können auch Ihre eigene vollständige Lösung zur Dateiverschiebung implementieren. Nutzen Sie dieses Verfahren, wenn:

  • Sie Taskdaten in einem Datenspeicher beibehalten möchten, der nicht Azure Storage ist. Sie möchten beispielsweise Dateien in einen Datenspeicher wie Azure SQL oder Azure Data Lake Storage hochladen. Erstellen Sie ein benutzerdefiniertes Skript oder eine ausführbare Datei, um Dateien an diesen Speicherort hochzuladen. Rufen Sie dann das benutzerdefinierte Skript oder die ausführbare Datei in der Befehlszeile auf, nachdem Sie Ihre primäre ausführbare Datei ausgeführt haben. Rufen Sie beispielsweise für einen Windows-Knoten doMyWork.exe && uploadMyFilesToSql.exe auf.
  • Sie möchten Prüfpunkte hinzufügen oder die ersten Ergebnisse früh hochladen.
  • Sie präzise Kontrolle über die Fehlerbehandlung beibehalten möchten. Sie möchten beispielsweise Aufgabenabhängigkeitsaktionen verwenden, um bestimmte Uploadaktionen basierend auf bestimmten Exitcodes für Aufgaben auszuführen.

Überlegungen zum Entwurf

Berücksichtigen Sie beim Entwerfen Ihrer Batch-Lösung die folgenden Faktoren.

Serverknoten sind häufig nur vorübergehend verfügbar, insbesondere in Batch-Pools mit aktivierter automatischer Skalierung. In den folgenden Fällen können Sie nur die Ausgabe einer Aufgabe anzeigen:

  • Während der Knoten vorhanden ist, in dem die Aufgabe ausgeführt wird.
  • Während des Dateiaufbewahrungszeitraums, den Sie für die Aufgabe festgelegt haben.

Wenn Sie eine Batch-Aufgabe im Azure-Portal anzeigen und auf Dateien auf Knoten klicken, werden alle Dateien für diese Aufgabe angezeigt, nicht nur die Ausgabedateien. Um die Ausgabe einer Aufgabe direkt von einem Serverknoten in Ihrem Pool abzurufen, benötigen Sie den Dateinamen und den Ausgabespeicherort im Knoten.

Wenn Sie Aufgabenausgabedaten länger aufbewahren möchten, konfigurieren Sie die Aufgabe so, dass ihre Ausgabedateien in einen Datenspeicher hochgeladen werden. Es wird empfohlen, Azure Storage als Datenspeicher zu verwenden. Die Integration zum Schreiben von Aufgabenausgabedaten in Azure Storage in der Batch-Dienst-API ist möglich. Sie können andere dauerhafte Speicheroptionen verwenden, um Ihre Daten zu speichern. Sie müssen jedoch die Anwendungslogik für andere Speicheroptionen selbst schreiben.

Um Ihre Ausgabedaten in Azure Storage anzuzeigen, verwenden Sie das Azure-Portal oder eine Azure Storage-Clientanwendung wie den Azure Storage-Explorer. Notieren Sie sich den Speicherort Ihrer Ausgabedatei, und wechseln Sie direkt zu diesem Speicherort.

Nächster Schritt