Freigeben über


BatchJobReleaseTaskOutput 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 Befehlszeile der Auftragsfreigabeaufgabe. Die Befehlszeile wird nicht unter einer Shell ausgeführt und kann daher nicht von Shellfeatures wie der Erweiterung der Umgebungsvariablen profitieren. Wenn Sie diese Features nutzen möchten, sollten Sie die Shell in der Befehlszeile aufrufen, z. B. mit "cmd /c MyCommand" in Windows oder "/bin/sh -c MyCommand" in 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 Auftragsfreigabeaufgabe ausgeführt wird. Wenn dies angegeben wird, werden alle Verzeichnisse rekursiv unterhalb der AZ_BATCH_NODE_ROOT_DIR (der Stamm von Azure Batchverzeichnissen auf dem Knoten) dem Container zugeordnet, alle Taskumgebungsvariablen werden dem Container zugeordnet, und die Task-Befehlszeile wird im Container ausgeführt. Dateien, die im Container außerhalb von AZ_BATCH_NODE_ROOT_DIR erstellt wurden, werden möglicherweise nicht auf den Hostdatenträger wiedergegeben, was bedeutet, dass Batchdatei-APIs nicht auf diese Dateien zugreifen können.

environmentSettings

Eine Liste der Umgebungsvariableneinstellungen für die Auftragsfreigabeaufgabe.

id

Eine Zeichenfolge, die die Auftragsfreigabeaufgabe 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. Wenn Sie diese Eigenschaft nicht angeben, weist der Batchdienst den Standardwert "jobrelease" zu. Keine andere Aufgabe im Auftrag kann dieselbe ID wie die Aufgabe "Auftragsfreigabe" aufweisen. Wenn Sie versuchen, eine Aufgabe mit derselben ID zu übermitteln, lehnt der Batchdienst die Anforderung mit dem Fehlercode TaskIdSameAsJobReleaseTask ab; Wenn Sie die REST-API direkt aufrufen, lautet der HTTP-Statuscode 409 (Conflict).

maxWallClockTime

Die maximale verstrichene Zeit, die die Auftragsfreigabeaufgabe auf einem bestimmten Computeknoten ausgeführt werden kann, gemessen von dem Zeitpunkt, zu dem die Aufgabe gestartet wird. Wenn der Vorgang nicht innerhalb des Zeitlimits abgeschlossen wird, beendet der Batchdienst ihn. Der Standardwert beträgt 15 Minuten. Sie können kein Timeout angeben, das länger als 15 Minuten ist. Wenn Sie dies tun, lehnt der Batchdienst ihn mit einem Fehler ab; wenn Sie die REST-API direkt aufrufen, lautet der HTTP-Statuscode 400 (Ungültige Anforderung).

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 mindeste Zeit, um das Aufgabenverzeichnis für die Auftragsfreigabeaufgabe auf dem Computeknoten beizubehalten. Nach diesem Zeitpunkt kann der Batchdienst das Aufgabenverzeichnis und alle zugehörigen Inhalte löschen. Der Standardwert ist 7 Tage, d. h. das Aufgabenverzeichnis wird 7 Tage lang aufbewahrt, es sei denn, der Computeknoten wird entfernt oder der Auftrag gelöscht.

userIdentity

Die Benutzeridentität, unter der die Auftragsfreigabeaufgabe ausgeführt wird. Wenn dies nicht angegeben wird, wird die Aufgabe als nicht administrativer Benutzer ausgeführt, der für die Aufgabe eindeutig ist.

Details zur Eigenschaft

commandLine

Die Befehlszeile der Auftragsfreigabeaufgabe. Die Befehlszeile wird nicht unter einer Shell ausgeführt und kann daher nicht von Shellfeatures wie der Erweiterung der Umgebungsvariablen profitieren. Wenn Sie diese Features nutzen möchten, sollten Sie die Shell in der Befehlszeile aufrufen, z. B. mit "cmd /c MyCommand" in Windows oder "/bin/sh -c MyCommand" in 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 Auftragsfreigabeaufgabe ausgeführt wird. Wenn dies angegeben wird, werden alle Verzeichnisse rekursiv unterhalb der AZ_BATCH_NODE_ROOT_DIR (der Stamm von Azure Batchverzeichnissen auf dem Knoten) dem Container zugeordnet, alle Taskumgebungsvariablen werden dem Container zugeordnet, und die Task-Befehlszeile wird im Container ausgeführt. Dateien, die im Container außerhalb von AZ_BATCH_NODE_ROOT_DIR erstellt wurden, werden möglicherweise nicht auf den Hostdatenträger wiedergegeben, was bedeutet, dass Batchdatei-APIs nicht auf diese Dateien zugreifen können.

containerSettings?: BatchTaskContainerSettingsOutput

Eigenschaftswert

environmentSettings

Eine Liste der Umgebungsvariableneinstellungen für die Auftragsfreigabeaufgabe.

environmentSettings?: EnvironmentSettingOutput[]

Eigenschaftswert

id

Eine Zeichenfolge, die die Auftragsfreigabeaufgabe 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. Wenn Sie diese Eigenschaft nicht angeben, weist der Batchdienst den Standardwert "jobrelease" zu. Keine andere Aufgabe im Auftrag kann dieselbe ID wie die Aufgabe "Auftragsfreigabe" aufweisen. Wenn Sie versuchen, eine Aufgabe mit derselben ID zu übermitteln, lehnt der Batchdienst die Anforderung mit dem Fehlercode TaskIdSameAsJobReleaseTask ab; Wenn Sie die REST-API direkt aufrufen, lautet der HTTP-Statuscode 409 (Conflict).

id?: string

Eigenschaftswert

string

maxWallClockTime

Die maximale verstrichene Zeit, die die Auftragsfreigabeaufgabe auf einem bestimmten Computeknoten ausgeführt werden kann, gemessen von dem Zeitpunkt, zu dem die Aufgabe gestartet wird. Wenn der Vorgang nicht innerhalb des Zeitlimits abgeschlossen wird, beendet der Batchdienst ihn. Der Standardwert beträgt 15 Minuten. Sie können kein Timeout angeben, das länger als 15 Minuten ist. Wenn Sie dies tun, lehnt der Batchdienst ihn mit einem Fehler ab; wenn Sie die REST-API direkt aufrufen, lautet der HTTP-Statuscode 400 (Ungültige Anforderung).

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?: ResourceFileOutput[]

Eigenschaftswert

retentionTime

Die mindeste Zeit, um das Aufgabenverzeichnis für die Auftragsfreigabeaufgabe auf dem Computeknoten beizubehalten. Nach diesem Zeitpunkt kann der Batchdienst das Aufgabenverzeichnis und alle zugehörigen Inhalte löschen. Der Standardwert ist 7 Tage, d. h. das Aufgabenverzeichnis wird 7 Tage lang aufbewahrt, es sei denn, der Computeknoten wird entfernt oder der Auftrag gelöscht.

retentionTime?: string

Eigenschaftswert

string

userIdentity

Die Benutzeridentität, unter der die Auftragsfreigabeaufgabe ausgeführt wird. Wenn dies nicht angegeben wird, wird die Aufgabe als nicht administrativer Benutzer ausgeführt, der für die Aufgabe eindeutig ist.

userIdentity?: UserIdentityOutput

Eigenschaftswert