Passer le contexte des exécutions de travail dans des tâches de travail

Vous pouvez utiliser des références de valeurs dynamiques pour passer le contexte d’un travail ou d’une exécution de tâche, comme le nom du travail ou de la tâche, l’identificateur d’une exécution ou l’heure de début d’une exécution de travail. Les références de valeurs dynamiques sont des variables modélisées qui sont remplacées par les valeurs appropriées lors de l’exécution de la tâche de travail. Lorsqu’un travail s’exécute, la variable de paramètre de tâche entourée d’accolades doubles est remplacée et ajoutée à une valeur de chaîne facultative incluse dans le cadre de la valeur. Par exemple, pour passer un paramètre nommé MyJobId avec la valeur my-job-6 pour toute exécution de l’ID de travail 6, ajoutez le paramètre de tâche suivant :

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

Le contenu des accolades doubles n’étant pas évalué comme une expression, vous ne pouvez donc pas effectuer d’opérations ou de fonctions entre les accolades doubles.

Les identificateurs fournis par l’utilisateur, par exemple, les noms de tâche, les clés de valeur de tâche ou les noms de paramètre de travail contenant des caractères spéciaux doivent être placés en échappement en entourant les identificateurs avec des backticks (` `). Seuls les caractères alphanumériques et le trait de soulignement peuvent être utilisés sans échappement.

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

Les erreurs de syntaxe dans les références (par exemple, une accolade manquante) sont ignorées et la valeur est traitée comme une chaîne littérale. Par exemple, {{my.value} est passé en tant que chaîne "{{my.value}". Toutefois, l’entrée d’une référence non valide qui appartient à un espace de noms connu (par exemple, {{job.naem}}) n’est pas autorisée. Un message d’erreur s’affiche si une référence non valide appartenant à un espace de noms connu est entrée dans l’interface utilisateur.

Une fois une tâche terminée, vous pouvez voir les valeurs résolues des paramètres sous Paramètres sur la page des détails de l’exécution.

Références de valeur prises en charge

Les références de valeur dynamiques suivantes sont prises en charge :

Référence Description
{{job.id}} Identificateur unique attribué au travail.
{{job.name}} Nom du travail au moment de l’exécution du travail.
{{job.run_id}} Identificateur unique attribué à l’exécution du travail.
{{job.repair_count}} Nombre de tentatives de réparation sur l’exécution du travail en cours.
{{job.start_time.[argument]}} Valeur basée sur l’heure (en horaire UTC) du démarrage de l’exécution du travail. La valeur de retour est basée sur l’option argument. Consultez Options des valeurs de date et d’heure.
{{job.parameters.[name]}} Valeur du paramètre au niveau du travail avec la clé [name].
{{job.trigger.type}} Le type de déclencheur de l’exécution du travail. Les valeurs possibles sont : periodic, onetime, run_job_task, file_arrival, continuous, et table.
{{job.trigger.file_arrival.location}} Si un déclencheur d’arrivée de fichier est configuré pour ce travail, la valeur de l’emplacement de stockage.
{{job.trigger.time.[argument]}} Valeur basée sur l’heure (en horaire UTC) de déclenchement de l’exécution du travail, arrondie à la minute la plus proche pour les travaux avec une planification cron. La valeur de retour est basée sur l’option argument. Consultez Options des valeurs de date et d’heure.
{{task.name}} Nom de la tâche en cours.
{{task.run_id}} Identificateur unique de l’exécution de la tâche en cours.
{{task.execution_count}} Nombre de fois que la tâche en cours a été exécutée (y compris les nouvelles tentatives et les réparations).
{{task.notebook_path}} Chemin d’accès de la tâche de notebook en cours.
{{tasks.[task_name].run_id}} Identificateur unique attribué à l’exécution de tâche pour [task_name].
{{tasks.[task_name].result_state}} L’état de résultat de la tâche [task_name]. Les valeurs possibles sont success, failed, excluded, canceled, evicted, timedout, upstream_canceled, upstream_evicted et upstream_failed.
{{tasks.[task_name].execution_count}} Nombre de fois que la tâche [task_name] a été exécutée (y compris les nouvelles tentatives et les réparations).
{{tasks.[task_name].notebook_path}} Chemin d’accès au notebook pour la tâche de notebook [task_name].
{{tasks.[task_name].values.[value_name]}} Valeur de la tâche avec la clé [value_name] définie par la tâche [task_name].
{{workspace.id}} Identificateur unique affecté à l’espace de travail.
{{workspace.url}} URL de l’espace de travail.

Vous pouvez définir ces références avec n’importe quelle tâche lors de la Création d’un travail, de la Modification d’un travail ou de l'Exécution d’un travail avec des paramètres différents.

Vous pouvez également transmettre des paramètres entre les tâches d’un travail avec des valeurs de tâche. Consultez Partager des informations parmi des tâches dans un travail Azure Databricks.

Options des valeurs de date et d’heure

Utilisez les arguments suivants pour spécifier la valeur de retour depuis des variables de paramètre basées sur le temps. Toutes les valeurs de retour sont basées sur un timestamp du fuseau horaire UTC.

Argument Description
iso_weekday Retourne un chiffre de 1 à 7, représentant le jour de la semaine du timestamp.
is_weekday Retourne true si le timestamp est un jour de semaine.
iso_date Retourne la date au format ISO.
iso_datetime Retourne la date et l’heure au format ISO.
year Retourne la partie année du timestamp.
month Retourne la partie mois du timestamp.
day Retourne la partie jour du timestamp.
hour Retourne la partie heure du timestamp.
minute Retourne la partie minute du timestamp.
second Retourne la deuxième partie du timestamp.
timestamp_ms Retourne le timestamp en millisecondes.

Variables de paramètre déconseillées

Les variables de paramètre suivantes sont déconseillées. Bien qu’ils soient toujours pris en charge, les travaux nouveaux ou les mises à jour des travaux existants doivent utiliser les références de valeur prises en charge. La référence de remplacement recommandée est incluse dans la description de chaque variable.

Variable Description
{{job_id}} Identificateur unique attribué à un travail. Utilisez job.id à la place.
{{run_id}} Identificateur unique attribué à une exécution de tâche. Utilisez task.run_id à la place.
{{start_date}} Date de début d’exécution d’une tâche. Le format est yyyy-MM-JJ dans le fuseau horaire UTC. Utilisez job.start_time.[argument] à la place.
{{start_time}} Timestamp de début d’exécution de l’exécution après la création et la préparation du cluster. Le format est en millisecondes depuis l’époque UNIX du fuseau horaire UTC, tel que retourné par System.currentTimeMillis(). Utilisez job.start_time.[format] à la place.
{{task_retry_count}} Nombre de nouvelles tentatives qui ont été tentées pour exécuter une tâche en cas d’échec de la première tentative. La valeur est 0 pour la première tentative et est incrémentée à chaque nouvelle tentative. Utilisez task.execution_count à la place.
{{parent_run_id}} Identificateur unique attribué à l’exécution d’un travail avec plusieurs tâches. Utilisez job.run_id à la place.
{{task_key}} Nom unique attribué à une tâche qui fait partie d’un travail avec plusieurs tâches. Utilisez task.name à la place.