Paramétrage
Cette section traite des paramètres et de leur utilisation dans les tâches et les tâches.
Rubriques :
À propos des paramètres
Vous pouvez personnaliser les exécutions de travail en transmettant des paramètres qui modifient le comportement de la tâche, de la tâche ou de l'exécution de travail.
Les paramètres peuvent être fournis à trois niveaux différents d'un flux de travail : niveau de tâche, niveau de tâche et niveau d'exécution de tâche. Les paramètres ont la priorité suivante en cas de conflit : Job Run > Task > Job.
- Paramètres de niveau d'exécution de tâche : Les paramètres de niveau d'exécution de tâche spécifiés dans les données utiles d'exécution de tâche ont priorité sur les paramètres de niveau de tâche définis dans la configuration de tâche. 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.
- Paramètres de niveau de tâche : Si les paramètres d'exécution d'une tâche spécifique ne sont pas fournis, la tâche utilise les paramètres définis au niveau de la tâche dans la configuration de la tâche. Les paramètres au niveau de l'emploi portant le même nom remplacent les paramètres au niveau de la tâche pour cette tâche spécifique. Donc, si vous voulez un paramètre spécifique à une tâche, vous devez le nommer différemment du paramètre de tâche.
- Paramètres de niveau de tâche : Si aucun paramètre de niveau de tâche ni d'exécution n'est fourni, les valeurs par défaut définies au niveau de la tâche s'appliquent. Les paramètres au niveau de l'emploi sont considérés comme des valeurs par défaut qui peuvent être utilisées si aucun autre paramètre spécifique n'est disponible.
Note :
Les paramètres de tâche ne sont pas modifiables dans les contextes de tâche. Cela signifie que s'il existe une tâche avec le paramètre JobParamA avec la valeur résolue JobParamRuntimeValueA, l'exécution de TaskA ne peut pas modifier la valeur de JobParamA. La valeur de JobParamA reste JobParamRuntimeValueA pour toutes les tâches et l'ensemble de l'exécution de travail. Par conséquent, si vous souhaitez partager des informations entre des tâches, vous pouvez utiliser des paramètres de stockage ou de sortie intermédiaires pour y parvenir.Lorsque les noms de tâche, les clés de valeur de tâche ou les noms de paramètre de tâche 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 sont utilisables sans encadrer l'identificateur dans les traits de soulignement.
Par 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 flux de travail et des exécutions de tâches subséquentes. Vous n'avez pas besoin de fournir de valeur, par défaut ou autre, pour ces paramètres modélisés. AI Data Platform Workbench a une liste fixe de paramètres modélisés valides / références de valeur dynamique qui sont prises en charge dans le flux de travail. Les paramètres système sont saisis en les entourant de deux accolades. Par exemple, {{job.id}}.
Tableau 12-1 Paramètres du système pris en charge
| Paramètre | Description |
|---|---|
| {{hub.id}} | Identificateur unique affecté au concentrateur |
| {{hub.region}} | La région du hub |
| {{workspace.id}} | Identificateur unique affecté à l'espace de travail |
| {{workspace.url}} | URL de l'espace de travail |
| {{job.id}} | Identificateur unique affecté à l'emploi |
| {{job.name}} | Nom de la tâche au moment de l'exécution de la tâche |
| {{job.run_id}} | Identificateur unique affecté à l'exécution de travail |
| {{job.repair_count}} | Nombre de tentatives de réparation sur l'exécution de travail courante |
| {{job.start_time.[argument]}} | Valeur basée sur l'heure (dans le fuseau horaire UTC) à laquelle l'exécution de travail a commencé. La valeur renvoyée est basée sur l'option d'argument. Voir Options pour les valeurs de date et d'heure. |
| {{job.parameters.[name]}} | 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 Programmé. |
| {{job.trigger.file_arrival.location}} | Si un déclencheur d'arrivée de fichier est configuré pour cette tâche, 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 de travail a été déclenchée, arrondie à la minute la plus proche pour les travaux avec une programmation cron. La valeur renvoyée est basée sur l'option d'argument. Voir Options pour les valeurs de date et d'heure. |
| {{task.name}} | Nom de la tâche courante |
| {{task.run_id}} | Identificateur unique de l'exécution de tâche courante |
| {{task.execution_count}} | Nombre d'exécutions de la tâche courante (y compris les tentatives et les réparations) |
| {{task.notebook_path}} | Chemin d'accès au carnet de la tâche de carnet courante |
| {{tâches.[task_name].run_id}} | Identificateur unique affecté à l'exécution de tâche pour [task_name] |
| {{tâches.[task_name].result_state}} | État du résultat de la tâche [task_name]. Les valeurs possibles sont Succès, Échec, Exclu, Annulé, Ignoré, Temporisation, upstream_canceled et upstream_failed. |
| {{tâches.[task_name].error_code}} | Code d'erreur pour la tâche [task_name] si une erreur s'est produite lors de l'exécution de la tâche. Des exemples de valeurs possibles sont RunExecutionError, ResourceNotFound et UnauthorizedError. Pour les tâches réussies, cela donne une chaîne vide. |
| {{tâches.[task_name].execution_count}} | Nombre de fois où la tâche [task_name] a été exécutée (y compris les tentatives et les réparations) |
| {{tâches.[task_name].notebook_path}} | Chemin du carnet pour la tâche de carnet [task_name] |
| {{tâches.[task_name].valeurs.[value_name]}} | Valeur de tâche avec la clé [value_name] qui a été définie par la tâche [task_name] |
Tableau 12-2 Options de date et d'heure
| Argument | Description |
|---|---|
| iso_weekday | Retourne un chiffre de 1 à 7, représentant le jour de la semaine dans l'horodatage |
| is_weekday | Retourne true si l'horodatage est un jour de la semaine
|
| iso_date; | Retourne la date au format ISO |
| iso_dateheure | Retourne la date et l'heure au format ISO |
| année | Retourne la partie année de l'horodatage |
| mois | Retourne la partie mois de l'horodatage |
| jour | Retourne la partie jour de l'horodatage |
| heure | Retourne la partie heure de l'horodatage |
| minute | Retourne la partie minute de l'horodatage |
| deuxième | Retourne la deuxième partie de l'horodatage |
| timestamp_ms; | Retourne l'heure en millisecondes |
Transmettre les paramètres entre les tâches et le carnet
Vous pouvez transmettre des paramètres d'une tâche à un carnet et vice versa. Cela permet un comportement dynamique du flux de travail, ce qui permet aux carnets d'ajuster leur traitement en fonction des valeurs d'exécution.
Le package oidlUtils.parameters fournit les fonctionnalités nécessaires 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 les tâches telles que la gestion des paramètres, la transmission des valeurs de tâche et d'autres opérations de flux de travail. Il est couramment utilisé dans les carnets et les tâches pour obtenir et définir des paramètres entre les étapes de flux de travail.
oidlUtils.parameters.setTaskValue(key="payload", value="abc", "defaultValue")oidlUtils.parameters.setTaskValue(key="payload", value=json.dumps(payload), "defaultValue")Exemple de flux de travail : Transmission de paramètres
Dans ce scénario, nous avons deux carnets dans un flux de travail. Le carnet 1 reçoit les paramètres d'une tâche, les traite et définit les paramètres de sortie qui sont transmis au carnet 2 lors de la tâche suivante.
Carnet 1 : Obtenir et définir les 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 carnet 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.
Carnet 2 : Lire le paramètre de sortieoutput_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 deuxième carnet reçoit output_param_2 du carnet 1 au moyen de la tâche de flux de travail et le traite.
- Tâche 1 : Carnet 1
- Dans la première tâche, les paramètres peuvent être transmis au carnet 1 à partir de la tâche ou de la tâche elle-même.
- Le carnet 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).
- Tâche 2 : Carnet 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" tel que défini dans le flux de travail.
- La valeur de output_param_2 est transmise au carnet 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 ordinateurs portables, ce qui permet à vos flux de travail d'être plus flexibles et adaptatifs.
Ajouter des paramètres à un travail
Vous pouvez fournir à vos travaux différents paramètres à suivre.
Supprimer les paramètres d'un travail
Vous mettez à jour vos tâches pour supprimer les paramètres qui ne sont plus nécessaires.
Ajouter des paramètres à une tâche
Vous pouvez ajouter des paramètres aux tâches pour modifier leur comportement.

