Freigeben über


Übergeben des Kontexts zu Auftragsausführungen in Auftragsaufgaben

Sie können dynamische Wertverweise verwenden, um Kontext zu einem Auftrag oder einer Aufgabenausführung zu übergeben, z. B. den Auftrags- oder Aufgabennamen, den Bezeichner einer Ausführung oder die Startzeit einer Auftragsausführung. Dynamische Werteverweise sind Vorlagenvariablen, die beim Ausführen der Auftragsaufgabe durch die entsprechenden Werte ersetzt werden. Beim Ausführen eines Auftrags wird die von doppelten geschweiften Klammern umgebene Aufgabenparametervariable ersetzt und an einen optionalen Zeichenfolgenwert angehängt, der Teil des Werts ist. Um beispielsweise einen Parameter mit dem Namen MyJobId und dem Wert my-job-6 für beliebige Ausführungen der Auftrags-ID 6 zu übergeben, fügen Sie den folgenden Aufgabenparameter hinzu:

{
  "MyJobID": "my-job-{{job.id}}"
}

Der Inhalt der doppelten geschweiften Klammern wird nicht als Ausdruck ausgewertet, deshalb können Sie innerhalb von doppelten geschweiften Klammern keine Vorgänge oder Funktionen ausführen.

Vom Benutzer bereitgestellte Bezeichner, z. B. Aufgabennamen, Vorgangswertschlüssel oder Auftragsparameternamen, die Sonderzeichen enthalten, müssen durch Umgeben der Bezeichner mit Backticks (` `) escapet werden. Nur alphanumerische und Unterstrich-Zeichen können ohne Escapen verwendet werden.

{
  "VariableWithSpecialChars": "{{job.parameters.`param$@`}}"
}

Syntaxfehler in Verweisen (z. B. fehlende geschweifte Klammern) werden ignoriert, und der Wert wird als Literalzeichenfolge behandelt. Beispiel: {{my.value} wird als Zeichenfolge "{{my.value}"übergeben. Die Eingabe eines ungültigen Verweises, der zu einem bekannten Namespace gehört (z. B, {{job.naem}}) ist jedoch nicht zulässig. Es wird eine Fehlermeldung angezeigt, wenn ein ungültiger Verweis, der zu einem bekannten Namespace gehört, in die Benutzeroberfläche eingegeben wird.

Nach Abschluss einer Aufgabe können Sie aufgelöste Werte für Parameter unter Parameter auf der Seite „Ausführungsdetails“ anzeigen.

Unterstützte Wertverweise

Die folgenden dynamischen Wertverweise werden unterstützt:

Verweis Beschreibung
{{job.id}} Der eindeutige Bezeichner, der einem Auftrag zugewiesen ist.
{{job.name}} Der Name des Auftrags zum Zeitpunkt der Ausführung des Auftrags.
{{job.run_id}} Der eindeutige Bezeichner, der der Auftragsausführung zugewiesen ist.
{{job.repair_count}} Die Anzahl der Reparaturversuche für die aktuelle Auftragsausführung.
{{job.start_time.[argument]}} Ein Wert basierend auf der Zeit (in UTC-Zeitzone), zu der die Auftragsausführung begonnen hat. Der Rückgabewert basiert auf der argument-Option. Siehe Optionen für Datums- und Uhrzeitwerte.
{{job.parameters.[name]}} Der Wert des Parameters auf Auftragsebene mit dem Schlüssel [name].
{{job.trigger.type}} Der Triggertyp des Auftragsausführung. Die möglichen Werte sind periodic, onetime , run_job_task, file_arrival, continuous, und table.
{{job.trigger.file_arrival.location}} Wenn ein Dateiankunftstrigger für diesen Auftrag konfiguriert ist, der Wert des Speicherorts.
{{job.trigger.time.[argument]}} Ein Wert basierend auf dem Zeitpunkt (in UTC-Zeitzone), zu dem der Auftrag ausgelöst wurde, abgerundet auf die nächstgelegene Minute für Aufträge mit einem Cron-Zeitplan. Der Rückgabewert basiert auf der argument-Option. Siehe Optionen für Datums- und Uhrzeitwerte.
{{task.name}} Der Name der aktuellen Aufgabe.
{{task.run_id}} Der eindeutige Bezeichner der aktuellen Aufgabenausführung.
{{task.execution_count}} Die Häufigkeit, mit der die aktuelle Aufgabe ausgeführt wurde (einschließlich Wiederholungen und Reparaturen).
{{task.notebook_path}} Der Notizbuchpfad der aktuellen Notizbuchaufgabe.
{{tasks.[task_name].run_id}} Der eindeutige Bezeichner, der der Aufgabenausführung für [task_name] zugewiesen wurde.
{{tasks.[task_name].result_state}} Der Ergebniszustand einer Ausführung [task_name]. Die möglichen Werte sind success, failed, excluded, canceled, evicted, timedout, upstream_canceled, upstream_evicted und upstream_failed.
{{tasks.[task_name].error_code}} Der Fehlercode für die Aufgabe [task_name], wenn beim Ausführen der Aufgabe ein Fehler aufgetreten ist. Beispiele für mögliche Werte sind RunExecutionError, ResourceNotFound und UnauthorizedError. Bei erfolgreichen Vorgängen wird dies als leere Zeichenfolge ausgewertet.
{{tasks.[task_name].execution_count}} Die Häufigkeit, mit der die Aufgabe [task_name] ausgeführt wurde (einschließlich Wiederholungen und Reparaturen).
{{tasks.[task_name].notebook_path}} Der Pfad zum Notizbuch für die Notizbuchaufgabe [task_name].
{{tasks.[task_name].values.[value_name]}} Der Aufgabenwert mit dem Schlüssel [value_name], der von Aufgabe [task_name] festgelegt wurde.
{{workspace.id}} Der eindeutige Bezeichner, der dem Arbeitsbereich zugewiesen ist.
{{workspace.url}} Die URL des Arbeitsbereichs.

Diese Referenzen können Sie für eine beliebige Aufgabe festlegen, wenn Sie einen Auftrag erstellen, einen Auftrag bearbeiten oder einen Auftrag mit anderen Parametern ausführen.

Sie können auch Parameter zwischen Aufgaben in einem Auftrag mit Vorgangswerten übergeben. Weitere Informationen finden Sie unter Freigeben von Informationen zwischen Aufgaben in einem Azure Databricks-Auftrag.

Optionen für Datums- und Uhrzeitwerte

Verwenden Sie die folgenden Argumente, um den Rückgabewert aus zeitbasierten Parametervariablen anzugeben. Alle Rückgabewerte basieren auf einem Zeitstempel in UTC-Zeitzone.

Argument Beschreibung
iso_weekday Gibt eine Ziffer von 1 bis 7 zurück, die den Wochentag des Zeitstempels darstellt.
is_weekday Gibt true zurück, wenn der Zeitstempel an einem Wochentag liegt.
iso_date Gibt das Datum im ISO-Format zurück.
iso_datetime Gibt das Datum und die Uhrzeit im ISO-Format zurück.
year Gibt den Jahresteil des Zeitstempels zurück.
month Gibt den Monatsteil des Zeitstempels zurück.
day Gibt den Tagesteil des Zeitstempels zurück.
hour Gibt den Stundenteil des Zeitstempels zurück.
minute Gibt den Minutenteil des Zeitstempels zurück.
second Gibt den Sekundenteil des Zeitstempels zurück.
timestamp_ms Gibt den Zeitstempel in Millisekunden zurück.

Veraltete Parametervariablen

Die folgenden Parametervariablen sind veraltet. Obwohl sie weiterhin unterstützt werden, sollten alle neuen Aufträge oder Aktualisierungen für vorhandene Aufträge die unterstützten Wertverweise verwenden. Der empfohlene Ersatzverweis ist in der Beschreibung jeder Variablen enthalten.

Variable Beschreibung
{{job_id}} Der eindeutige Bezeichner, der einem Auftrag zugewiesen ist. Verwenden Sie stattdessen job.id.
{{run_id}} Der eindeutige Bezeichner, der einer Aufgabenausführung zugewiesen wurde. Verwenden Sie stattdessen task.run_id.
{{start_date}} Das Datum, an dem eine Aufgabenausführung gestartet wird. Das Format lautet in der UTC-Zeitzone „JJJJ-MM-TT“. Verwenden Sie stattdessen job.start_time.[argument].
{{start_time}} Der Zeitstempel für den Ausführungsbeginn, nachdem der Cluster erstellt wurde und bereit ist. Als Format wird die UNIX-Zeit in der UTC-Zeitzone verwendet, wie zurückgegeben durch System.currentTimeMillis(). Verwenden Sie stattdessen job.start_time.[format].
{{task_retry_count}} Die Anzahl der durchgeführten Wiederholungsversuche zum Ausführen einer Aufgabe, wenn der erste Versuch fehlschlägt. Der Wert lautet beim ersten Versuch 0 und erhöht sich bei jedem weiteren Versuch. Verwenden Sie stattdessen task.execution_count.
{{parent_run_id}} Der eindeutige Bezeichner, der der Ausführung eines Auftrags mit mehreren Aufgaben zugeordnet ist. Verwenden Sie stattdessen job.run_id.
{{task_key}} Der eindeutige Name, der einer Aufgabe zugewiesen wurde, die Teil eines Auftrags mit mehreren Aufgaben ist. Verwenden Sie stattdessen task.name.