Freigeben über


Persistente Aufträge und Aufgabenausgabe

Eine Aufgabe, die in Azure Batch ausgeführt wird, erzeugt möglicherweise Ausgabedaten, wenn sie ausgeführt wird. Aufgabenausgabedaten müssen häufig für den Abruf durch andere Aufgaben im Auftrag, die Clientanwendung, die den Auftrag ausgeführt hat, oder beides gespeichert werden. 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. Aufgaben können auch einen Dateiaufbewahrungszeitraum haben, nach dem Dateien, die von der Aufgabe erstellt wurden, gelöscht werden. Aus diesen Gründen ist es wichtig, die Vorgangsausgabe beizubehalten, die Sie später in einem Datenspeicher wie Azure Storage benötigen.

Informationen zu Speicherkontooptionen im Batch finden Sie unter Batchkonten und Azure Storage-Konten.

Einige häufige Beispiele für die Aufgabenausgabe sind:

  • Dateien, die erstellt werden, wenn die Aufgabe Eingabedaten verarbeitet.
  • Protokolldateien, die der Aufgabenausführung zugeordnet sind.

In diesem Artikel werden verschiedene Optionen zum Speichern von Ausgabedaten beschrieben. Sie können Ausgabedaten aus Batchaufgaben und Aufträgen in Azure Storage oder andere Speicher speichern.

Optionen zum Beibehalten der Ausgabe

Es gibt mehrere Möglichkeiten zum Speichern von Ausgabedaten. Wählen Sie die beste Methode für Ihr Szenario aus:

API für Batchdienste

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

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

Batch-Dateikonventionenbibliothek

Der Standard für Batchdateikonventionen ist ein optionaler Satz von Konventionen für die Benennung von Aufgabenausgabedateien in Azure Storage. Der Standard enthält Benennungskonventionen für den Zielcontainer und den BLOB-Pfad einer Datei basierend auf den Namen des Auftrags und der Aufgabe.

Es ist optional, den Dateikonventionsstandard zum Benennen Ihrer Ausgabedatendateien zu verwenden. Sie können stattdessen den Zielcontainer und den BLOB-Pfad benennen. Wenn Sie den Standard "Dateikonventionen" verwenden, können Sie Ihre Ausgabedateien im Azure-Portal anzeigen.

Wenn Sie eine Batchlösung mit C# und .NET erstellen, können Sie die Batchdateikonventionsbibliothek für .NET verwenden. Die Bibliothek verschiebt Ausgabedateien in Azure Storage und benennt Zielcontainer und Blobs gemäß dem Standard für Batchdateikonventionen.

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 Standard für Batchdateikonventionen in Ihrer eigenen Anwendung implementieren. Verwenden Sie diesen Ansatz in folgenden Fällen:

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

Benutzerdefinierte Dateibewegungslösung

Sie können auch Ihre eigene vollständige Dateiverschiebungslösung implementieren. Verwenden Sie diesen Ansatz in folgenden Fällen:

  • Sie möchten Aufgabendaten in einem anderen Datenspeicher als Azure Storage speichern. Sie möchten z. B. Dateien in einen Datenspeicher wie Azure SQL oder Azure DataLake hochladen. Erstellen Sie ein benutzerdefiniertes Skript oder eine ausführbare Datei, das an diesen Speicherort hochgeladen werden soll. Rufen Sie dann das benutzerdefinierte Skript oder die ausführbare Datei in der Befehlszeile auf, nachdem Sie die primäre ausführbare Datei ausgeführt haben. Rufen Sie beispielsweise auf einem Windows-Knoten auf doMyWork.exe && uploadMyFilesToSql.exe.
  • Sie möchten Prüfpunkte oder frühes Hochladen der ersten Ergebnisse durchführen.
  • Sie möchten eine präzise Kontrolle über die Fehlerbehandlung erhalten. Beispielsweise möchten Sie Aufgabenabhängigkeitsaktionen verwenden , um bestimmte Uploadaktionen basierend auf bestimmten Aufgabenausgangscodes auszuführen.

Entwurfsüberlegungen

Berücksichtigen Sie beim Entwerfen der Batchlösung die folgenden Faktoren.

Computeknoten sind häufig vorübergehend, insbesondere in Batchpools mit aktivierter automatischer Skalierung. In den folgenden Fällen können Sie nur die Ausgabe einer Aufgabe anzeigen:

  • Solange der Knoten, auf dem die Aufgabe ausgeführt wird, existiert.
  • Während des Dateiaufbewahrungszeitraums, den Sie für die Aufgabe festgelegt haben.

Wenn Sie im Azure-Portal eine Batchaufgabe anzeigen und Dateien auf Knoten auswählen, werden alle Dateien für diese Aufgabe angezeigt, nicht nur Ausgabedateien. Um die Ausgabe einer Aufgabe direkt von den Rechenknoten in Ihrem Pool abzurufen, benötigen Sie den Dateinamen und den Speicherort der Ausgabe auf dem Knoten.

Wenn Sie die Ausgabedaten der Aufgabe länger beibehalten möchten, konfigurieren Sie die Aufgabe so, dass die Ausgabedateien in einen Datenspeicher hochgeladen werden. Es wird empfohlen, Azure Storage als Datenspeicher zu verwenden. Es gibt eine Integration, die es ermöglicht, die Ausgabedaten von Aufgaben in die Azure Storage innerhalb der Batchdienst-API zu schreiben. Sie können andere dauerhafte Speicheroptionen verwenden, um Ihre Daten beizubehalten. 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, z. B. Azure Storage-Explorer. Notieren Sie sich den Speicherort der Ausgabedatei, und wechseln Sie direkt zu diesem Speicherort.

Nächster Schritt