Freigeben über


JobSpecification Klasse

Gibt Details zu den Aufträgen an, die nach einem Zeitplan erstellt werden sollen.

Zum Senden an Azure müssen alle erforderlichen Parameter aufgefüllt werden.

Vererbung
JobSpecification

Konstruktor

JobSpecification(*, pool_info, priority: int = None, allow_task_preemption: bool = None, max_parallel_tasks: int = -1, display_name: str = None, uses_task_dependencies: bool = None, on_all_tasks_complete=None, on_task_failure=None, network_configuration=None, constraints=None, job_manager_task=None, job_preparation_task=None, job_release_task=None, common_environment_settings=None, metadata=None, **kwargs)

Parameter

priority
int
Erforderlich

Die Priorität von Aufträgen, die unter diesem Zeitplan erstellt wurden. Die Prioritätswerte reichen von -1.000 bis 1.000. Dabei ist -1.000 die niedrigste Priorität und 1000 die höchste Priorität. Der Standardwert ist 0. Diese Priorität wird als Standard für alle Aufträge unter dem Auftragszeitplan verwendet. Sie können die Priorität eines Auftrags aktualisieren, nachdem er erstellt wurde, indem Sie die Aktualisierungsauftrags-API verwenden.

allow_task_preemption
bool
Erforderlich

Gibt an, ob Aufgaben in diesem Auftrag von anderen Aufträgen mit hoher Priorität entfernt werden können. Wenn der Wert auf True festgelegt ist, haben andere Aufträge mit hoher Priorität, die an das System übermittelt werden, Vorrang und können Aufgaben aus diesem Auftrag erneut quequenen. Sie können die allowTaskPreemption eines Auftrags aktualisieren, nachdem er mithilfe der Aktualisierungsauftrags-API erstellt wurde.

max_parallel_tasks
int
Erforderlich

Die maximale Anzahl von Aufgaben, die parallel für den Auftrag ausgeführt werden können. Der Wert von maxParallelTasks muss -1 oder größer als 0 sein, sofern angegeben. Wenn nicht angegeben, ist der Standardwert -1. Dies bedeutet, dass es keine Begrenzung für die Anzahl von Aufgaben gibt, die gleichzeitig ausgeführt werden können. Sie können die maxParallelTasks eines Auftrags aktualisieren, nachdem er mithilfe der Updateauftrags-API erstellt wurde. Standardwert: -1 .

display_name
str
Erforderlich

Der Name muss nicht eindeutig sein und kann Unicode-Zeichen bis zu einer maximalen Länge von 1024 enthalten.

uses_task_dependencies
bool
Erforderlich

Gibt an, ob Aufgaben im Auftrag Abhängigkeiten voneinander definieren können. Die Standardeinstellung ist „false“.

on_all_tasks_complete
str oder OnAllTasksComplete
Erforderlich

Die Aktion, die der Batch-Dienst ausführen sollte, wenn sich alle Aufgaben in einem unter diesem Zeitplan erstellten Auftrag im Status abgeschlossen befinden. Beachten Sie, dass alle Aufgaben als abgeschlossen gelten, wenn ein Auftrag keine Aufgaben enthält. Diese Option wird daher am häufigsten mit einer Auftrags-Manager-Aufgabe verwendet. wenn Sie die automatische Auftragsbeendigung ohne Auftrags-Manager verwenden möchten, sollten Sie onAllTasksComplete zunächst auf noaction festlegen und die Auftragseigenschaften aktualisieren, um onAllTasksComplete auf "terminatejob" festzulegen, nachdem Sie das Hinzufügen von Tasks abgeschlossen haben. Der Standardwert ist noaction. Mögliche Werte: "noAction", "terminateJob"

on_task_failure
str oder OnTaskFailure
Erforderlich

Die Aktion, die der Batch-Dienst ausführen sollte, wenn ein Vorgang in einem unter diesem Zeitplan erstellten Auftrag fehlschlägt. Ein Task gilt als fehlgeschlagen, wenn ein Fehler aufgetreten ist, wenn eine failureInfo vorhanden ist. Eine failureInfo wird festgelegt, wenn der Task mit einem Exitcode von ungleich 0 abgeschlossen wird, nachdem die Wiederholungsanzahl ausgeschöpft wurde, oder wenn ein Fehler beim Starten des Tasks aufgetreten ist, z. B. aufgrund eines Fehlers zum Herunterladen einer Ressourcendatei. Der Standardwert ist noaction. Mögliche Werte: "noAction", "performExitOptionsJobAction"

network_configuration
JobNetworkConfiguration
Erforderlich

Die Netzwerkkonfiguration für den Auftrag.

constraints
JobConstraints
Erforderlich

Die Ausführungseinschränkungen für Aufträge, die unter diesem Zeitplan erstellt wurden.

job_manager_task
JobManagerTask
Erforderlich

Die Details einer Auftrags-Manager-Aufgabe, die gestartet werden soll, wenn ein Auftrag unter diesem Zeitplan gestartet wird. Wenn der Auftrag keinen Auftrags-Manager-Task angibt, muss der Benutzer dem Auftrag mithilfe der Aufgaben-API explizit Tasks hinzufügen. Wenn der Auftrag einen Auftrags-Manager-Task angibt, erstellt der Batch-Dienst den Auftrags-Manager-Task, wenn der Auftrag erstellt wird, und versucht, den Auftrags-Manager-Task zu planen, bevor andere Aufgaben im Auftrag geplant werden.

job_preparation_task
JobPreparationTask
Erforderlich

Der Auftragsvorbereitungstask für Aufträge, die unter diesem Zeitplan erstellt wurden. Wenn ein Auftrag über einen Auftragsvorbereitungstask verfügt, führt der Batch-Dienst den Auftragsvorbereitungstask auf einem Knoten aus, bevor aufgaben dieses Auftrags auf diesem Computeknoten gestartet werden.

job_release_task
JobReleaseTask
Erforderlich

Der Auftragsfreigabetask für Aufträge, die unter diesem Zeitplan erstellt wurden. Der Hauptzweck des Auftragsfreigabetasks besteht darin, änderungen an Knoten rückgängig zu machen, die vom Auftragsvorbereitungstask vorgenommen wurden. Beispielaktivitäten sind das Löschen lokaler Dateien oder das Herunterfahren von Diensten, die im Rahmen der Auftragsvorbereitung gestartet wurden. Ein Auftragsfreigabetask kann nicht angegeben werden, ohne auch einen Auftragsvorbereitungstask für den Auftrag anzugeben. Der Batch-Dienst führt den Auftragsfreigabetask auf den Computeknoten aus, die den Auftragsvorbereitungstask ausgeführt haben.

common_environment_settings
list[EnvironmentSetting]
Erforderlich

Einzelne Aufgaben können eine hier angegebene Umgebungseinstellung überschreiben, indem sie denselben Einstellungsnamen mit einem anderen Wert angeben.

pool_info
PoolInformation
Erforderlich

Erforderlich. Der Pool, in dem der Batch-Dienst die Aufgaben von Aufträgen ausführt, die unter diesem Zeitplan erstellt wurden.

metadata
list[MetadataItem]
Erforderlich

Der Batch-Dienst weist Metadaten keine Bedeutung zu. es dient ausschließlich der Verwendung von Benutzercode.

Methoden

as_dict

Gibt ein Dict zurück, das mit json.dump JSONify sein kann.

Bei erweiterter Verwendung kann optional ein Rückruf als Parameter verwendet werden:

Key ist der Attributname, der in Python verwendet wird. Attr_desc ist ein Dict von Metadaten. Enthält derzeit "type" mit dem msrest-Typ und "key" mit dem RestAPI-codierten Schlüssel. Value ist der aktuelle Wert in diesem Objekt.

Die zurückgegebene Zeichenfolge wird verwendet, um den Schlüssel zu serialisieren. Wenn der Rückgabetyp eine Liste ist, wird dies als hierarchisches Ergebnisdikt betrachtet.

Sehen Sie sich die drei Beispiele in dieser Datei an:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Wenn Sie die XML-Serialisierung wünschen, können Sie die kwargs is_xml=True übergeben.

deserialize

Analysieren Sie einen Str mithilfe der RestAPI-Syntax, und geben Sie ein Modell zurück.

enable_additional_properties_sending
from_dict

Analysieren eines Diktats mithilfe des angegebenen Schlüsselextraktors gibt ein Modell zurück.

Standardmäßig werden Schlüsselextraktoren (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor und last_rest_key_case_insensitive_extractor) berücksichtigt.

is_xml_model
serialize

Gibt den JSON-Code zurück, der von diesem Modell an Azure gesendet würde.

Dies ist ein Alias für as_dict(full_restapi_key_transformer, keep_readonly=False).

Wenn Sie die XML-Serialisierung wünschen, können Sie die kwargs is_xml=True übergeben.

validate

Überprüfen Sie dieses Modell rekursiv, und geben Sie eine Liste von ValidationError zurück.

as_dict

Gibt ein Dict zurück, das mit json.dump JSONify sein kann.

Bei erweiterter Verwendung kann optional ein Rückruf als Parameter verwendet werden:

Key ist der Attributname, der in Python verwendet wird. Attr_desc ist ein Dict von Metadaten. Enthält derzeit "type" mit dem msrest-Typ und "key" mit dem RestAPI-codierten Schlüssel. Value ist der aktuelle Wert in diesem Objekt.

Die zurückgegebene Zeichenfolge wird verwendet, um den Schlüssel zu serialisieren. Wenn der Rückgabetyp eine Liste ist, wird dies als hierarchisches Ergebnisdikt betrachtet.

Sehen Sie sich die drei Beispiele in dieser Datei an:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Wenn Sie die XML-Serialisierung wünschen, können Sie die kwargs is_xml=True übergeben.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Parameter

key_transformer
<xref:function>

Eine Schlüsseltransformerfunktion.

keep_readonly
Standardwert: True

Gibt zurück

Ein JSON-kompatibles Objekt mit Dict

Rückgabetyp

deserialize

Analysieren Sie einen Str mithilfe der RestAPI-Syntax, und geben Sie ein Modell zurück.

deserialize(data, content_type=None)

Parameter

data
str
Erforderlich

Eine Str-Instanz mit RestAPI-Struktur. JSON standardmäßig.

content_type
str
Standardwert: None

JSON standardmäßig, legen Sie application/xml if XML fest.

Gibt zurück

Ein instance dieses Modells

Ausnahmen

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Analysieren eines Diktats mithilfe des angegebenen Schlüsselextraktors gibt ein Modell zurück.

Standardmäßig werden Schlüsselextraktoren (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor und last_rest_key_case_insensitive_extractor) berücksichtigt.

from_dict(data, key_extractors=None, content_type=None)

Parameter

data
dict
Erforderlich

Ein Diktat mithilfe der RestAPI-Struktur

content_type
str
Standardwert: None

JSON standardmäßig, legen Sie application/xml if XML fest.

key_extractors
Standardwert: None

Gibt zurück

Ein instance dieses Modells

Ausnahmen

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Gibt den JSON-Code zurück, der von diesem Modell an Azure gesendet würde.

Dies ist ein Alias für as_dict(full_restapi_key_transformer, keep_readonly=False).

Wenn Sie die XML-Serialisierung wünschen, können Sie die kwargs is_xml=True übergeben.

serialize(keep_readonly=False, **kwargs)

Parameter

keep_readonly
bool
Standardwert: False

Wenn Sie die schreibgeschützten Attribute serialisieren möchten

Gibt zurück

Ein JSON-kompatibles Objekt mit Dict

Rückgabetyp

validate

Überprüfen Sie dieses Modell rekursiv, und geben Sie eine Liste von ValidationError zurück.

validate()

Gibt zurück

Eine Liste von Überprüfungsfehlern

Rückgabetyp