Paramétrisation

Cette section décrit les paramètres et leur utilisation dans les travaux et les tâches.

A propos des paramètres

Vous pouvez personnaliser les traitements de travail en transmettant des paramètres qui modifient le comportement du travail, de la tâche ou du traitement de travail.

Les paramètres peuvent être fournis à trois niveaux différents d'un workflow : niveau de travail, niveau de tâche et niveau d'exécution de travail. En cas de conflit, les paramètres ont la priorité suivante : Traitement du travail > Tâche > Travail.

  1. Paramètres de niveau d'exécution de travail : Les paramètres de niveau d'exécution de travail spécifiés dans la charge utile de traitement de travail sont prioritaires sur les paramètres de niveau tâche définis dans la configuration de travail. Cela signifie que tous les paramètres spécifiés lors de l'exécution du travail remplacent les valeurs par défaut propres à la tâche.
  2. Paramètres de niveau tâche : si les paramètres d'exécution de travail d'une tâche spécifique ne sont pas fournis, la tâche utilise les paramètres définis au niveau tâche dans la configuration de travail. Les paramètres de niveau tâche portant le même nom remplacent les paramètres de niveau tâche pour cette tâche spécifique. Par conséquent, si vous voulez un paramètre spécifique à une tâche, vous devez le nommer différemment du paramètre de travail.
  3. Paramètres de niveau tâche : si aucun paramètre de niveau tâche ou d'exécution n'est fourni, les valeurs par défaut définies au niveau du travail s'appliquent. Les paramètres de niveau tâche sont considérés comme des valeurs par défaut qui peuvent être utilisées si aucun paramètre plus spécifique n'est disponible.

Remarques :

Les paramètres de travail ne sont pas mutables dans les contextes de tâche. Cela signifie que si un travail avec le paramètre JobParamA avec la valeur résolue JobParamRuntimeValueA existe, l'exécution TaskA ne peut pas modifier la valeur de JobParamA. La valeur de JobParamA reste JobParamRuntimeValueA pour toutes les tâches et l'ensemble du traitement de travail. Par conséquent, si vous voulez partager des informations entre les tâches, vous pouvez utiliser des paramètres de stockage intermédiaires ou de sortie pour y parvenir.

Lorsque les noms de tâche, les clés de valeur de tâche ou les noms de paramètre de travail contiennent des caractères spéciaux (tels que !@$%), vous devez entourer ces identificateurs de backticks (` `). Seuls les caractères alphanumériques et les traits de soulignement peuvent être utilisés sans entourer l'identifiant dans les backticks.

Exemple :

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

Les paramètres système sont des paramètres modélisés dont la valeur est fournie par le système dans le cadre des exécutions de workflow et des exécutions de tâche suivantes. Vous n'avez pas besoin de fournir de valeur, par défaut ou autre, pour ces paramètres de modèle. AI Data Platform Workbench dispose d'une liste fixe de paramètres modélisés valides/références de valeur dynamique pris en charge dans le workflow. Les paramètres système sont saisis en les entourant de deux accolades. Exemple : {{job.id}}.

Tableau 12-1 Paramètres système pris en charge

Paramètre Description
{{hub.id}} Identificateur unique affecté au hub
{{hub.region}} La région du hub
{{workspace.id}} Identificateur unique affecté à l'espace de travail
Espace de travail URL de l'espace de travail
{{job.id}} Identificateur unique affecté au travail
{{job.name}} Nom du travail au moment de son exécution
{{job.run_id}} Identifiant unique affecté au traitement de travail
Je ne sais pas Nombre de tentatives de réparation sur l'exécution du travail en cours
{{job.start_time.[argument]}} Valeur basée sur l'heure (dans le fuseau horaire UTC) de début de l'exécution du travail. La valeur renvoyée est basée sur l'option d'argument. Pour les valeurs de date et d'heure, voir Options.
{{job.parameters.[nom]}} Valeur du paramètre de niveau travail avec la clé [name]
{{job.trigger.type}} Type de déclencheur de l'exécution de travail. Les valeurs possibles sont Manuel et Planifié.
L'équipe 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 (dans le fuseau horaire UTC) à laquelle l'exécution du travail a été déclenchée, arrondie à la minute la plus proche pour les travaux avec une planification CRON. La valeur renvoyée est basée sur l'option d'argument. Pour les valeurs de date et d'heure, voir Options.
{{task.name}} Nom de la tâche en cours
{{task.run_id}} Identifiant unique de l'exécution de tâche en cours
{{task.execution_count}} Nombre d'exécutions de la tâche en cours (y compris les nouvelles tentatives et les réparations)
Accueil Chemin du bloc-notes de la tâche de bloc-notes en cours
{{tâches.[nom_tâche]run_id}} Identificateur unique affecté à l'exécution de tâche pour [task_name]
{{tâches.[nom_tâche]result_state}} Etat du résultat de la tâche [task_name]. Les valeurs possibles sont Succès, Echec, Exclu, Annulé, Ignoré, Expiration, Annulé en amont et Echec en amont.
{{tâches_nom_tâche_code}} Code d'erreur de la tâche [task_name] si une erreur est survenue lors de l'exécution de la tâche. Exemples de valeurs possibles : RunExecutionError, ResourceNotFound et UnauthorizedError. Pour les tâches réussies, la chaîne est vide.
{{tâches.[nom_tâche]execution_count}} Nombre de fois où la tâche [task_name] a été exécutée (y compris les nouvelles tentatives et les réparations)
{{tâches.[nom_tâche]Notebook_path}} Chemin d'accès au bloc-notes pour la tâche de bloc-notes [task_name]
{{tâches.[nom_tâche].valeurs.[nom_valeur]}} Valeur de la tâche avec la clé [nom_valeur] définie par la tâche [nom_tâche]

Tableau 12-2 Options de date et d'heure

Argument Description
iso_weekday Renvoie un chiffre compris entre 1 et 7, représentant le jour de la semaine dans l'horodatage
is_weekday (jour_semaine) Renvoie true si l'horodatage correspond à un jour de la semaine
iso_date Renvoie la date au format ISO
iso_datetime Renvoie la date et l'heure en format ISO
year Renvoie la partie année de l'horodatage
mois Renvoie la partie mois de l'horodatage
jour Renvoie la partie jour de l'horodatage
heure Renvoie la partie heure de l'horodatage
minute Renvoie la partie minute de l'horodatage
deuxième Renvoie la deuxième partie de l'horodatage
timestamp_ms Renvoie l'horodatage, en millisecondes

Transmission de paramètres entre les tâches et le bloc-notes

Vous pouvez transmettre les paramètres d'une tâche à un bloc-notes et inversement. Cela permet un comportement de workflow dynamique, permettant aux blocs-notes d'ajuster leur traitement en fonction des valeurs d'exécution.

Le package oidlUtils.parameters fournit la fonctionnalité nécessaire pour gérer ces opérations de paramètre. Le package oidlUtils est une bibliothèque d'utilitaires dans AI Data Platform Workbench qui simplifie des tâches telles que la gestion des paramètres, la transmission des valeurs de tâche et d'autres opérations de workflow. Il est couramment utilisé dans les blocs-notes et les tâches pour obtenir et définir des paramètres lors des étapes du workflow.

Les valeurs de clé de tâche sont des chaînes ou des JSON. Par exemple, pour utiliser une chaîne comme valeur de clé de tâche, l'appel de paramètre doit se présenter comme suit :
oidlUtils.parameters.setTaskValue(key="payload", value="abc", "defaultValue")
Pour utiliser un fichier JSON comme valeur de clé de tâche, l'appel de paramètre doit se présenter comme suit :
oidlUtils.parameters.setTaskValue(key="payload", value=json.dumps(payload), "defaultValue")

Exemple de workflow : Transmission de paramètres

Dans ce scénario, nous avons deux blocs-notes dans un workflow. Le bloc-notes 1 reçoit les paramètres d'une tâche, les traite et définit les paramètres de sortie qui sont transmis au bloc-notes 2 dans la tâche suivante.

Bloc-notes 1 : Obtention et définition des paramètres
# Get parameter if already set in the task
param_key = "param1"
param_value = oidlUtils.parameters.getParameter(param_key, "defaultValue")
print(param_value)
print("Param {} value is {}".format(param_key, param_value))

 
# Set parameter value in the task
output_parameter_key = "output_parameter"
output_param_value = oidlUtils.parameters.getParameter(output_parameter_key, "defaultValue2")
print("Param {} value is {}".format(output_parameter_key, output_param_value))
oidlUtils.parameters.setTaskValue(output_parameter_key, "1234")

Le premier bloc-notes extrait un paramètre (param1) transmis à partir de la tâche, puis définit un nouveau paramètre (output_param_2), qui sera utilisé dans la tâche suivante.

Bloc-notes 2 : Lire le paramètre de sortie
output_param_2= "output_parameter"
param_value = oidlUtils.parameters.getTaskValue("GetSetParameter", output_param_2, "defaultValue")
print("Param {} value is {}".format(output_param_2, param_value))

Le second bloc-notes reçoit l'élément output_param_2 du bloc-notes 1 via la tâche de workflow et le traite.

  1. Tâche 1 : bloc-notes 1
    • Dans la première tâche, les paramètres peuvent être transmis au bloc-notes 1 à partir du travail ou de la tâche elle-même.
    • Le bloc-notes 1 traite les paramètres en tant que paramètres d'entrée param1 et définit de nouveaux paramètres de sortie (par exemple, output_param_2).
  2. Tâche 2 : bloc-notes 2
    • Dans la deuxième tâche, le bloc-notes 2 reçoit le paramètre de sortie de la tâche 1 en le référençant directement dans le code du bloc-notes comme indiqué ci-dessus en transmettant le nom de la première tâche "GetSetParameter" comme défini dans le workflow.
    • La valeur de output_param_2 est transmise au bloc-notes 2 où elle peut être utilisée pour un traitement ultérieur.

Cette approche facilite la transmission dynamique des valeurs entre les tâches et les blocs-notes, ce qui permet à vos workflows d'être plus flexibles et adaptatifs.

Ajouter des paramètres à un travail

Vous pouvez fournir à vos travaux différents paramètres à suivre.

  1. Sur la page d'accueil, cliquez sur Workflow.
  2. Cliquez sur le travail auquel ajouter des paramètres, puis sur l'onglet Détails.
  3. Sous Paramètres de travail, indiquez la clé et la valeur à suivre. Pour ajouter plusieurs paramètres, cliquez sur Nouvelle icône d'autorisation Ajouter un paramètre.
    Les changements que vous avez effectués sont enregistrés automatiquement.

Supprimer des paramètres d'un travail

Vous mettez à jour vos travaux pour enlever les paramètres qui ne sont plus nécessaires.

  1. Sur la liste d'accueil, cliquez sur Workflow.
  2. Cliquez sur le travail duquel enlever les paramètres, puis sur l'onglet Détails.
  3. Sous Paramètres de travail, cliquez sur Icône SupprimerSupprimer en regard du paramètre à enlever.
    Les changements que vous avez effectués sont enregistrés automatiquement.

Ajouter des paramètres à une tâche

Vous pouvez ajouter des paramètres aux tâches pour modifier leur comportement.

  1. Sur la page d'accueil, cliquez sur Workflow.
  2. Cliquez sur le travail qui contient les tâches auxquelles vous voulez ajouter des paramètres, puis sur l'onglet Tâches.
  3. Cliquez sur la tâche à laquelle vous voulez ajouter des paramètres.
  4. Sous Paramètres, entrez la clé et la valeur de votre paramètre. Pour ajouter plusieurs paramètres, cliquez sur Icône Ajouter un paramètre Ajouter un paramètre.
    Les changements que vous avez effectués sont enregistrés automatiquement.

Supprimer des paramètres d'une tâche

Vous pouvez supprimer des paramètres dont vous n'avez pas besoin de vos tâches.

  1. Sur la page d'accueil, cliquez sur Workflow.
  2. Cliquez sur le travail qui contient les tâches dont vous voulez supprimer les paramètres, puis sur l'onglet Tâches.
  3. Cliquez sur la tâche à partir de laquelle supprimer les paramètres.
  4. Cliquez sur Icône Supprimer Supprimer en regard de chaque paramètre à enlever.
    Les changements que vous avez effectués sont enregistrés automatiquement.

Exécuter un travail avec des valeurs de paramètre différentes

Vous pouvez choisir d'exécuter un travail immédiatement avec des valeurs de paramètre modifiées.

  1. Sur la page d'accueil, cliquez sur Workflow.
  2. Cliquez sur le travail à exécuter.
  3. Cliquez sur la flèche vers le bas en regard de Run Now (Exécuter maintenant). Cliquez sur Exécuter maintenant avec des paramètres différents.

    Bouton Exécuter maintenant développé pour afficher Exécuter maintenant avec différentes options de paramètres mises en évidence

  4. Entrez de nouvelles valeurs. Ces valeurs de paramètre s'appliquent uniquement à ce traitement de travail.

    Exécuter maintenant avec une invite de valeurs de paramètre différentes

  5. Cliquez sur Exécuter.