Gérer les types de données en étapes

www.altova.com Imprimer cette rubrique Page précédente Un niveau supérieur Page suivante

Accueil >  Travailler avec des tâches >

Gérer les types de données en étapes

Lorsque vous passez le résultat d'une étape vers une autre étape ou une autre tâche, vous devrez probablement changer le type de données du résultat d'étape. Par exemple, si vous créez une étape qui recense le contenu d'un répertoire, le type de retour est result. Afin de pouvoir traiter ce résultat d'une manière particulière (par exemple, pour lui envoyer un e-mail ou pour le rédiger dans un fichier), vous devrez le convertir de result en stream ou en string.

 

Vous pouvez changer le type de retour d'une étape (appelons-la step 1) comme suit :

 

1.Saisir une valeur dans le champ Attribuer le résultat de cette étape à de step 1. Vous devrez vous référer à cette valeur ultérieurement afin de pouvoir accéder au résultat de l'étape.
2.Ajouter une nouvelle étape d'exécution après l'étape step 1 (appelons-la step 2).
3.Configurer la fonction intégrée builtin_functionsystem/compute en tant que fonction d'exécution de step 2.
4.Dans le champ Expression de step 2, saisir une expression qui convertit la valeur retournée par step 1 dans le type de données requis. Par exemple, si la valeur retournée par step 1 est un résultat de ligne de commande qui retourne des sorties, et si vous souhaitez la convertir en stream, utiliser :

 

stdout(result)

 

Lorsque result est le nom que vous avez donné à la valeur retournée par step 1.

 

L'expression exacte à utiliser dépend du résultat que vous souhaitez obtenir. FlowForce Server fournit plusieurs fonctions d'expression que vous pouvez combiner avec des opérateurs et produire des expressions pertinentes à utiliser dans les étapes. Pour comprendre les options disponibles, voir Fonctions de résultat d'étape.

 

Exemple

Admettons que vous avez créé une étape d'exécution qui liste le contenu d'un répertoire comme suit :

fs_clip0004

À ce niveau, la sortie de l'étape est un résultat. Pour utiliser ce résultat dans d'autres étapes (ce qui pourrait entraîner la rédaction du contenu de répertoire dans un fichier ou envoyer un e-mail avec son contenu), vous nécessitez une valeur de retour de type stream, pas résultat.

 

 

Pour convertir la sortie de l'étape de la liste du répertoire en un type de données "stream" :

1.Déclarer le résultat de step 1 en tant que Step1Output. Pour ce faire, saisir Step1Output dans le champ Attribuer le résultat de cette étape à.
2.Ajouter une nouvelle étape d'exécution qui appelle la fonction builtin_functionsystem/compute.
3.Sous Paramètres, saisir l'expression suivante : stdout(Step1Output), où step1output est le résultat de step 1.

fs_clip0001

À ce niveau, votre type de données de sortie de la tâche est stream, comme souhaité. Vous pouvez maintenant créer une nouvelle étape d'exécution qui enverra le résultat de la deuxième étape à une adresse e-mail.

 

 

Pour envoyer la liste de répertoire à une adresse e-mail :

1.Changer l'expression de l'étape 2 depuis stdout(Step1Output) vers content(stdout(Step1Output)). Cela vous permet de convertir la valeur stream en une valeur string.
2.Déclarer le résultat de l'étape 2 en tant que Step2Output. Pour ce faire, saisir Step2Output dans le champ Attribuer le résultat de cette étape à.
3.Ajouter une nouvelle étape d'exécution (étape 3), avec les paramètres suivants (veuillez noter que les paramètres de serveur de mail doivent être configurés avant de pouvoir utiliser la fonction intégrée builtin_function/system/mail/send) :

 

Exécuter fonction

Chercher la fonction builtin_function/system/mail/send.

De

Saisir l'adresse e-mail de l'expéditeur.

À

Saisir l'adresse e-mail du destinateur.

Objet

Saisir l'objet de l'e-mail, par exemple "Directory Listing".

Corps

Cliquer sur ff-setTo, puis sélectionner Step2Ouput.

 

À ce point, les étapes d'exécution doivent ressembler à l'exemple suivant :

fs_clip0002

4.Créer un déclencheur horaire qui exécutera la tâche soir une seule fois, soit périodiquement (par exemple, toutes les 60 minutes).

fs_clip0003

5.Cliquer sur Enregistrer.

© 2019 Altova GmbH