BatchTask interface
Batch wiederholt Aufgaben, wenn ein Wiederherstellungsvorgang auf einem Knoten ausgelöst wird. Beispiele für Wiederherstellungsvorgänge sind (aber nicht beschränkt darauf), wenn ein fehlerhafter Knoten neu gestartet wird oder ein Computeknoten aufgrund eines Hostfehlers verschwunden ist. Wiederholungen aufgrund von Wiederherstellungsvorgängen sind unabhängig von und werden nicht für das maxTaskRetryCount gezählt. Auch wenn das maxTaskRetryCount 0 ist, kann ein interner Wiederholungsversuch aufgrund eines Wiederherstellungsvorgangs auftreten. Aus diesem Gründen sollten alle Aufgaben idempotent sein. Dies bedeutet, dass Aufgaben unterbrochen und neu gestartet werden müssen, ohne dass Beschädigte oder doppelte Daten verursacht werden. Die bewährte Methode für lange ausgeführte Aufgaben besteht darin, eine Form der Prüfpunkterstellung zu verwenden.
Eigenschaften
| affinity |
Ein Lokalitätshinweis, den der Batch-Service nutzen kann, um einen Compute-Knoten auszuwählen, auf dem die neue Aufgabe gestartet wird. |
| application |
Eine Liste von Paketen, die der Batch-Service vor dem Ausführen der Kommandozeile an den Compute Node ausliefert. Anwendungspakete werden heruntergeladen und in einem gemeinsamen Verzeichnis bereitgestellt, nicht im Arbeitsverzeichnis Task. Daher wird ein referenziertes Paket, das bereits auf dem Node ist und aktuell ist, nicht erneut heruntergeladen; die vorhandene Kopie auf dem Compute-Node wird verwendet. Wenn ein referenziertes Paket nicht installiert werden kann, zum Beispiel weil das Paket gelöscht wurde oder der Download fehlgeschlagen ist, schlägt die Aufgabe fehl. |
| command |
Die Befehlszeile der Aufgabe. Bei Multi-Instanz-Aufgaben wird die Befehlszeile als primäre Aufgabe ausgeführt, nachdem die Hauptaufgabe und alle Unteraufgaben die Koordinationskommandozeile ausgeführt haben. Die Befehlszeile wird nicht unter einer Shell ausgeführt und kann daher nicht von Shellfeatures wie der Erweiterung der Umgebungsvariablen profitieren. Wenn du solche Funktionen nutzen möchtest, solltest du die Shell in der Befehlszeile aufrufen, zum Beispiel mit "cmd /c MyCommand" in Windows oder "/bin/sh -c MyCommand" unter Linux. Wenn sich die Befehlszeile auf Dateipfade bezieht, sollte sie einen relativen Pfad (relativ zum Arbeitsverzeichnis "Aufgabe") verwenden oder die vom Batch bereitgestellte Umgebungsvariable (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables) verwenden. |
| constraints | Die Ausführungsbeschränkungen, die für diese Aufgabe gelten. |
| container |
Die Einstellungen für den Container, unter dem die Aufgabe ausgeführt wird. Wenn der Pool, der diese Aufgabe ausführen wird, containerConfiguration gesetzt hat, muss dies ebenfalls gesetzt werden. Wenn der Pool, der diese Aufgabe ausführen soll, keine containerConfiguration gesetzt hat, darf dies nicht gesetzt werden. Wenn dies angegeben ist, werden alle Verzeichnisse rekursiv unterhalb der AZ_BATCH_NODE_ROOT_DIR (der Wurzel Azure Batch Verzeichnisse auf dem Knoten) in den Container abgebildet, alle Task-Umgebungsvariablen werden in den Container abgebildet und die Task-Befehlszeile wird im Container ausgeführt. Dateien, die außerhalb AZ_BATCH_NODE_ROOT_DIR im Container erzeugt werden, werden möglicherweise nicht auf die Host-Festplatte zurückgewiesen, was bedeutet, dass Batch-Datei-APIs nicht auf diese Dateien zugreifen können. |
| creation |
Die Entstehungszeit der Aufgabe. |
| depends |
Die Aufgaben, von denen diese Aufgabe abhängt. Diese Aufgabe wird erst eingeplant, wenn alle Aufgaben, von denen sie abhängt, erfolgreich abgeschlossen sind. Wenn eine dieser Aufgaben scheitert und ihre Wiederholungszahlen erschöpft sind, wird diese Aufgabe niemals geplant. |
| display |
Ein Anzeigename für die Aufgabe. Der Anzeigename muss nicht eindeutig sein und kann alle Unicode-Zeichen bis zu einer maximalen Länge von 1024 enthalten. |
| environment |
Eine Liste der Umgebungsvariablen-Einstellungen für die Aufgabe. |
| e |
Der ETag der Aufgabe. Dies ist eine undurchsichtige Zeichenfolge. Sie können damit erkennen, ob sich die Aufgabe zwischen den Anfragen geändert hat. Insbesondere kann man beim Aktualisieren einer Aufgabe das ETag übergeben, um festzulegen, dass die Änderungen nur dann in Kraft treten sollen, wenn in der Zwischenzeit niemand sonst die Aufgabe geändert hat. |
| execution |
Informationen über die Ausführung der Aufgabe. |
| exit |
Wie der Batch-Service reagieren sollte, wenn die Aufgabe abgeschlossen ist. |
| id | Eine Zeichenkette, die die Aufgabe innerhalb des Auftrags eindeutig identifiziert. Die ID kann eine beliebige Kombination aus alphanumerischen Zeichen einschließlich Bindestrichen und Unterstrichen enthalten und darf nicht mehr als 64 Zeichen enthalten. |
| last |
Die letzte modifizierte Zeit der Aufgabe. |
| multi |
Ein Objekt, das anzeigt, dass die Aufgabe eine Multi-Instanz-Aufgabe ist, und enthält Informationen darüber, wie die Multi-Instanz-Aufgabe ausgeführt werden soll. |
| node |
Informationen über den Rechenknoten, auf dem die Aufgabe lief. |
| output |
Eine Liste von Dateien, die der Batch-Service nach Ausführung der Kommandozeile vom Compute Node hochlädt. Bei Mehrinstanz-Aufgaben werden die Dateien nur vom Rechenknoten hochgeladen, auf dem die Hauptaufgabe ausgeführt wird. |
| previous |
Der vorherige Zustand der Aufgabe. Diese Eigenschaft ist nicht gesetzt, wenn sich die Aufgabe im Anfangszustand der Aktivität befindet. |
| previous |
Der Zeitpunkt, zu dem die Aufgabe in ihren vorherigen Zustand eintrat. Diese Eigenschaft ist nicht gesetzt, wenn sich die Aufgabe im Anfangszustand der Aktivität befindet. |
| required |
Die Anzahl der Planungsplätze, die die Aufgabe benötigt, um ausgeführt zu werden. Die Standardeinstellung ist 1. Eine Aufgabe kann nur dann auf einem Rechenknoten ausgeführt werden, wenn dieser genügend freie Planungsplätze zur Verfügung hat. Für Aufgaben mit mehreren Instanzen muss dies 1 sein. |
| resource |
Eine Liste der Dateien, die der Batchdienst vor dem Ausführen der Befehlszeile auf den Computeknoten herunterladen wird. Für Aufgaben mit mehreren Instanzen werden die Ressourcendateien nur auf den Rechenknoten heruntergeladen, auf dem die Hauptaufgabe ausgeführt wird. Es gibt eine maximale Größe für die Liste der Ressourcendateien. Wenn die maximale Größe überschritten wird, schlägt die Anforderung fehl, und der Antwortfehlercode lautet "RequestEntityTooLarge". Wenn dies der Fall ist, muss die Sammlung von ResourceFiles in der Größe reduziert werden. Dies kann mithilfe von .zip Dateien, Anwendungspaketen oder Docker-Containern erreicht werden. |
| state | Der aktuelle Stand der Aufgabe. |
| state |
Der Zeitpunkt, zu dem die Aufgabe in ihren heutigen Zustand eintrat. |
| task |
Ressourcenverbrauchsstatistiken für die Aufgabe. |
| url | Die URL der Aufgabe. |
| user |
Die Benutzeridentität, unter der die Aufgabe ausgeführt wird. Wenn sie weggelassen wird, läuft die Aufgabe als nicht-administrativer Benutzer, der einzigartig für die Aufgabe ist. |
Details zur Eigenschaft
affinityInfo
Ein Lokalitätshinweis, den der Batch-Service nutzen kann, um einen Compute-Knoten auszuwählen, auf dem die neue Aufgabe gestartet wird.
affinityInfo?: BatchAffinityInfo
Eigenschaftswert
applicationPackageReferences
Eine Liste von Paketen, die der Batch-Service vor dem Ausführen der Kommandozeile an den Compute Node ausliefert. Anwendungspakete werden heruntergeladen und in einem gemeinsamen Verzeichnis bereitgestellt, nicht im Arbeitsverzeichnis Task. Daher wird ein referenziertes Paket, das bereits auf dem Node ist und aktuell ist, nicht erneut heruntergeladen; die vorhandene Kopie auf dem Compute-Node wird verwendet. Wenn ein referenziertes Paket nicht installiert werden kann, zum Beispiel weil das Paket gelöscht wurde oder der Download fehlgeschlagen ist, schlägt die Aufgabe fehl.
applicationPackageReferences?: BatchApplicationPackageReference[]
Eigenschaftswert
commandLine
Die Befehlszeile der Aufgabe. Bei Multi-Instanz-Aufgaben wird die Befehlszeile als primäre Aufgabe ausgeführt, nachdem die Hauptaufgabe und alle Unteraufgaben die Koordinationskommandozeile ausgeführt haben. Die Befehlszeile wird nicht unter einer Shell ausgeführt und kann daher nicht von Shellfeatures wie der Erweiterung der Umgebungsvariablen profitieren. Wenn du solche Funktionen nutzen möchtest, solltest du die Shell in der Befehlszeile aufrufen, zum Beispiel mit "cmd /c MyCommand" in Windows oder "/bin/sh -c MyCommand" unter Linux. Wenn sich die Befehlszeile auf Dateipfade bezieht, sollte sie einen relativen Pfad (relativ zum Arbeitsverzeichnis "Aufgabe") verwenden oder die vom Batch bereitgestellte Umgebungsvariable (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables) verwenden.
commandLine: string
Eigenschaftswert
string
constraints
Die Ausführungsbeschränkungen, die für diese Aufgabe gelten.
constraints?: BatchTaskConstraints
Eigenschaftswert
containerSettings
Die Einstellungen für den Container, unter dem die Aufgabe ausgeführt wird. Wenn der Pool, der diese Aufgabe ausführen wird, containerConfiguration gesetzt hat, muss dies ebenfalls gesetzt werden. Wenn der Pool, der diese Aufgabe ausführen soll, keine containerConfiguration gesetzt hat, darf dies nicht gesetzt werden. Wenn dies angegeben ist, werden alle Verzeichnisse rekursiv unterhalb der AZ_BATCH_NODE_ROOT_DIR (der Wurzel Azure Batch Verzeichnisse auf dem Knoten) in den Container abgebildet, alle Task-Umgebungsvariablen werden in den Container abgebildet und die Task-Befehlszeile wird im Container ausgeführt. Dateien, die außerhalb AZ_BATCH_NODE_ROOT_DIR im Container erzeugt werden, werden möglicherweise nicht auf die Host-Festplatte zurückgewiesen, was bedeutet, dass Batch-Datei-APIs nicht auf diese Dateien zugreifen können.
containerSettings?: BatchTaskContainerSettings
Eigenschaftswert
creationTime
Die Entstehungszeit der Aufgabe.
creationTime: Date
Eigenschaftswert
Date
dependsOn
Die Aufgaben, von denen diese Aufgabe abhängt. Diese Aufgabe wird erst eingeplant, wenn alle Aufgaben, von denen sie abhängt, erfolgreich abgeschlossen sind. Wenn eine dieser Aufgaben scheitert und ihre Wiederholungszahlen erschöpft sind, wird diese Aufgabe niemals geplant.
dependsOn?: BatchTaskDependencies
Eigenschaftswert
displayName
Ein Anzeigename für die Aufgabe. Der Anzeigename muss nicht eindeutig sein und kann alle Unicode-Zeichen bis zu einer maximalen Länge von 1024 enthalten.
displayName?: string
Eigenschaftswert
string
environmentSettings
Eine Liste der Umgebungsvariablen-Einstellungen für die Aufgabe.
environmentSettings?: EnvironmentSetting[]
Eigenschaftswert
eTag
Der ETag der Aufgabe. Dies ist eine undurchsichtige Zeichenfolge. Sie können damit erkennen, ob sich die Aufgabe zwischen den Anfragen geändert hat. Insbesondere kann man beim Aktualisieren einer Aufgabe das ETag übergeben, um festzulegen, dass die Änderungen nur dann in Kraft treten sollen, wenn in der Zwischenzeit niemand sonst die Aufgabe geändert hat.
eTag: string
Eigenschaftswert
string
executionInfo
Informationen über die Ausführung der Aufgabe.
executionInfo?: BatchTaskExecutionInfo
Eigenschaftswert
exitConditions
Wie der Batch-Service reagieren sollte, wenn die Aufgabe abgeschlossen ist.
exitConditions?: ExitConditions
Eigenschaftswert
id
Eine Zeichenkette, die die Aufgabe innerhalb des Auftrags eindeutig identifiziert. Die ID kann eine beliebige Kombination aus alphanumerischen Zeichen einschließlich Bindestrichen und Unterstrichen enthalten und darf nicht mehr als 64 Zeichen enthalten.
id: string
Eigenschaftswert
string
lastModified
Die letzte modifizierte Zeit der Aufgabe.
lastModified: Date
Eigenschaftswert
Date
multiInstanceSettings
Ein Objekt, das anzeigt, dass die Aufgabe eine Multi-Instanz-Aufgabe ist, und enthält Informationen darüber, wie die Multi-Instanz-Aufgabe ausgeführt werden soll.
multiInstanceSettings?: MultiInstanceSettings
Eigenschaftswert
nodeInfo
Informationen über den Rechenknoten, auf dem die Aufgabe lief.
nodeInfo?: BatchNodeInfo
Eigenschaftswert
outputFiles
Eine Liste von Dateien, die der Batch-Service nach Ausführung der Kommandozeile vom Compute Node hochlädt. Bei Mehrinstanz-Aufgaben werden die Dateien nur vom Rechenknoten hochgeladen, auf dem die Hauptaufgabe ausgeführt wird.
outputFiles?: OutputFile[]
Eigenschaftswert
previousState
Der vorherige Zustand der Aufgabe. Diese Eigenschaft ist nicht gesetzt, wenn sich die Aufgabe im Anfangszustand der Aktivität befindet.
previousState?: BatchTaskState
Eigenschaftswert
previousStateTransitionTime
Der Zeitpunkt, zu dem die Aufgabe in ihren vorherigen Zustand eintrat. Diese Eigenschaft ist nicht gesetzt, wenn sich die Aufgabe im Anfangszustand der Aktivität befindet.
previousStateTransitionTime?: Date
Eigenschaftswert
Date
requiredSlots
Die Anzahl der Planungsplätze, die die Aufgabe benötigt, um ausgeführt zu werden. Die Standardeinstellung ist 1. Eine Aufgabe kann nur dann auf einem Rechenknoten ausgeführt werden, wenn dieser genügend freie Planungsplätze zur Verfügung hat. Für Aufgaben mit mehreren Instanzen muss dies 1 sein.
requiredSlots?: number
Eigenschaftswert
number
resourceFiles
Eine Liste der Dateien, die der Batchdienst vor dem Ausführen der Befehlszeile auf den Computeknoten herunterladen wird. Für Aufgaben mit mehreren Instanzen werden die Ressourcendateien nur auf den Rechenknoten heruntergeladen, auf dem die Hauptaufgabe ausgeführt wird. Es gibt eine maximale Größe für die Liste der Ressourcendateien. Wenn die maximale Größe überschritten wird, schlägt die Anforderung fehl, und der Antwortfehlercode lautet "RequestEntityTooLarge". Wenn dies der Fall ist, muss die Sammlung von ResourceFiles in der Größe reduziert werden. Dies kann mithilfe von .zip Dateien, Anwendungspaketen oder Docker-Containern erreicht werden.
resourceFiles?: ResourceFile[]
Eigenschaftswert
state
stateTransitionTime
Der Zeitpunkt, zu dem die Aufgabe in ihren heutigen Zustand eintrat.
stateTransitionTime: Date
Eigenschaftswert
Date
taskStatistics
Ressourcenverbrauchsstatistiken für die Aufgabe.
taskStatistics?: BatchTaskStatistics
Eigenschaftswert
url
Die URL der Aufgabe.
url: string
Eigenschaftswert
string
userIdentity
Die Benutzeridentität, unter der die Aufgabe ausgeführt wird. Wenn sie weggelassen wird, läuft die Aufgabe als nicht-administrativer Benutzer, der einzigartig für die Aufgabe ist.
userIdentity?: UserIdentity