BatchJobReleaseTask interface

Eine Auftragsfreigabeaufgabe, die bei Abschluss des Auftrags auf einem beliebigen Computeknoten ausgeführt werden soll, auf dem der Auftrag ausgeführt wurde. Die Aufgabe "Auftragsfreigabe" wird ausgeführt, wenn der Auftrag beendet wird, aufgrund einer der folgenden Aktionen: Der Benutzer ruft die Löschauftrags-API oder die Löschauftrags-API auf, während der Auftrag noch aktiv ist, die maximale Zeiteinschränkung des Auftrags wird erreicht, und der Auftrag ist noch aktiv, oder der Auftrag wurde abgeschlossen, und der Auftrag wird so konfiguriert, dass er beendet wird, wenn der Auftrags-Manager abgeschlossen ist. Die Aufgabe "Auftragsfreigabe" wird auf jedem Knoten ausgeführt, auf dem Aufgaben des Auftrags ausgeführt und der Auftragvorbereitungsvorgang ausgeführt und abgeschlossen wurde. Wenn Sie einen Knoten neu abbilden, nachdem er den Auftragsvorbereitungsvorgang ausgeführt hat, und der Auftrag endet ohne weitere Aufgaben des Auftrags, der auf diesem Knoten ausgeführt wird (und damit der Auftragsvorbereitungsvorgang nicht erneut ausgeführt wird), wird die Auftragsfreigabeaufgabe nicht auf diesem Computeknoten ausgeführt. Wenn ein Knoten neu gestartet wird, während die Auftragsfreigabeaufgabe noch ausgeführt wird, wird die Aufgabe "Auftragsfreigabe" erneut ausgeführt, wenn der Computeknoten gestartet wird. Der Auftrag ist erst als abgeschlossen markiert, wenn alle Aufgaben für die Auftragsfreigabe abgeschlossen wurden. Die Auftragsfreigabeaufgabe wird im Hintergrund ausgeführt. Es belegt keinen Planungsplatz; d. h., es wird nicht auf den für den Pool angegebenen TaskSlotsPerNode-Grenzwert gezählt.

Eigenschaften

commandLine

Die Kommandozeile der Job Release Task. 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.

containerSettings

Die Einstellungen für den Container, unter dem die Job Release Task ausgeführt wird. 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.

environmentSettings

Eine Liste von Umgebungsvariablen-Einstellungen für die Aufgabe Job Release.

id

Ein String, der die Job Release Task innerhalb des Jobs eindeutig identifiziert. Die ID kann jede Kombination alphanumerischer Zeichen enthalten, einschließlich Bindestrichen und Unterstrichen, und darf nicht mehr als 64 Zeichen enthalten. Wenn Sie diese Eigenschaft nicht angeben, weist der Batch-Service den Standardwert 'jobrelease' zu. Keine andere Aufgabe im Job kann dieselbe ID wie die Job Release-Aufgabe haben. Wenn Sie versuchen, eine Aufgabe mit derselben ID einzureichen, lehnt der Batch-Service die Anfrage mit dem Fehlercode TaskIdSameAsJobReleaseTask ab; wenn du die REST-API direkt aufrufst, ist der HTTP-Statuscode 409 (Konflikt).

maxWallClockTime

Die maximal vergangene Zeit, die die Job Release Task auf einem gegebenen Compute Node, gemessen ab dem Zeitpunkt des Task-Starts. Wenn die Aufgabe nicht innerhalb des Zeitlimits abgeschlossen wird, beendet der Batch-Service sie. Der Standardwert beträgt 15 Minuten. Sie dürfen keine Auszeit von längerer als 15 Minuten angeben. Wenn du das tust, lehnt der Batch-Service es mit einem Fehler ab; wenn du die REST-API direkt aufrufst, ist der HTTP-Statuscode 400 (Bad Request). Die Zeitspanne ist im ISO-8601-Format angegeben.

resourceFiles

Eine Liste der Dateien, die der Batchdienst vor dem Ausführen der Befehlszeile auf den Computeknoten herunterladen 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. Unter diesem Element aufgelistete Dateien befinden sich im Arbeitsverzeichnis der Aufgabe.

retentionTime

Die Mindestzeit, um das Task-Verzeichnis für die Job Release-Aufgabe auf dem Compute Node, zu speichern. Nach dieser Zeit kann der Batch-Service das Task-Verzeichnis und alle Inhalte löschen. Standardmäßig sind 7 Tage, d. h. das Aufgabenverzeichnis wird 7 Tage lang aufbewahrt, es sei denn, der Compute-Knoten wird entfernt oder der Job gelöscht. Die Zeitspanne ist im ISO-8601-Format angegeben.

userIdentity

Die Benutzeridentität, unter der die Job Release Task 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

commandLine

Die Kommandozeile der Job Release Task. 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

containerSettings

Die Einstellungen für den Container, unter dem die Job Release Task ausgeführt wird. 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

environmentSettings

Eine Liste von Umgebungsvariablen-Einstellungen für die Aufgabe Job Release.

environmentSettings?: EnvironmentSetting[]

Eigenschaftswert

id

Ein String, der die Job Release Task innerhalb des Jobs eindeutig identifiziert. Die ID kann jede Kombination alphanumerischer Zeichen enthalten, einschließlich Bindestrichen und Unterstrichen, und darf nicht mehr als 64 Zeichen enthalten. Wenn Sie diese Eigenschaft nicht angeben, weist der Batch-Service den Standardwert 'jobrelease' zu. Keine andere Aufgabe im Job kann dieselbe ID wie die Job Release-Aufgabe haben. Wenn Sie versuchen, eine Aufgabe mit derselben ID einzureichen, lehnt der Batch-Service die Anfrage mit dem Fehlercode TaskIdSameAsJobReleaseTask ab; wenn du die REST-API direkt aufrufst, ist der HTTP-Statuscode 409 (Konflikt).

id?: string

Eigenschaftswert

string

maxWallClockTime

Die maximal vergangene Zeit, die die Job Release Task auf einem gegebenen Compute Node, gemessen ab dem Zeitpunkt des Task-Starts. Wenn die Aufgabe nicht innerhalb des Zeitlimits abgeschlossen wird, beendet der Batch-Service sie. Der Standardwert beträgt 15 Minuten. Sie dürfen keine Auszeit von längerer als 15 Minuten angeben. Wenn du das tust, lehnt der Batch-Service es mit einem Fehler ab; wenn du die REST-API direkt aufrufst, ist der HTTP-Statuscode 400 (Bad Request). Die Zeitspanne ist im ISO-8601-Format angegeben.

maxWallClockTime?: string

Eigenschaftswert

string

resourceFiles

Eine Liste der Dateien, die der Batchdienst vor dem Ausführen der Befehlszeile auf den Computeknoten herunterladen 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. Unter diesem Element aufgelistete Dateien befinden sich im Arbeitsverzeichnis der Aufgabe.

resourceFiles?: ResourceFile[]

Eigenschaftswert

retentionTime

Die Mindestzeit, um das Task-Verzeichnis für die Job Release-Aufgabe auf dem Compute Node, zu speichern. Nach dieser Zeit kann der Batch-Service das Task-Verzeichnis und alle Inhalte löschen. Standardmäßig sind 7 Tage, d. h. das Aufgabenverzeichnis wird 7 Tage lang aufbewahrt, es sei denn, der Compute-Knoten wird entfernt oder der Job gelöscht. Die Zeitspanne ist im ISO-8601-Format angegeben.

retentionTime?: string

Eigenschaftswert

string

userIdentity

Die Benutzeridentität, unter der die Job Release Task ausgeführt wird. Wenn sie weggelassen wird, läuft die Aufgabe als nicht-administrativer Benutzer, der einzigartig für die Aufgabe ist.

userIdentity?: UserIdentity

Eigenschaftswert