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
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
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
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
Der Name muss nicht eindeutig sein und kann Unicode-Zeichen bis zu einer maximalen Länge von 1024 enthalten.
- uses_task_dependencies
- bool
Gibt an, ob Aufgaben im Auftrag Abhängigkeiten voneinander definieren können. Die Standardeinstellung ist „false“.
- on_all_tasks_complete
- str oder OnAllTasksComplete
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
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
Die Netzwerkkonfiguration für den Auftrag.
- constraints
- JobConstraints
Die Ausführungseinschränkungen für Aufträge, die unter diesem Zeitplan erstellt wurden.
- job_manager_task
- JobManagerTask
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
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
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]
Einzelne Aufgaben können eine hier angegebene Umgebungseinstellung überschreiben, indem sie denselben Einstellungsnamen mit einem anderen Wert angeben.
- pool_info
- PoolInformation
Erforderlich. Der Pool, in dem der Batch-Dienst die Aufgaben von Aufträgen ausführt, die unter diesem Zeitplan erstellt wurden.
- metadata
- list[MetadataItem]
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:
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
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
Gibt zurück
Ein instance dieses Modells
Ausnahmen
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
- key_extractors
Gibt zurück
Ein instance dieses Modells
Ausnahmen
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
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
Azure SDK for Python