Créez un Job pour extraire des données d'une API et les stocker dans une variable globalMap.
Procédure
- Dans la perspective Integration, cliquez-droit sur le nœud Job Designs et cliquez sur Create Standard Job.
- Saisissez un nom (Name), un objectif (Purpose) et une Description pour votre Job, puis cliquez sur Finish (Terminer).
-
Ajoutez les composants suivants dans l'espace de modélisation graphique et reliez-les à l'aide de liens Row > Main :
- un tHttpRequest,
- un tHMap,
- un tLogRow.
Votre Job doit ressembler à ceci : -
Double-cliquez sur le composant tHttpRequestet configurez-le comme suit :
Paramètre Valeur URI "https://www.swapi.tech/api/people?page=1&limit=10" Méthode GET - Double-cliquez sur le tLogRow et cliquez sur le bouton ... près de Edit schema.
-
Ajoutez les colonnes suivantes en entrée et copiez-les en sortie, puis cliquez sur OK.
Column Type pages Entier results Entier -
Double-cliquez sur le composant tHMap pour générer la map.
- Dans la première étape, sélectionnez Select an existing hierarchical mapper structure, puis cliquez sur Next. Sélectionnez la structure créée depuis l'API.
- Dans la deuxième étape, conservez l'option par défaut et cliquez sur Next, puis sur Finish.
La map est créée, vous pouvez la configurer. -
Cliquez sur l'élément de sortie
row
et glissez-déposez une fonction FixedLoop dans son onglet Loop. -
Glissez l'élément d'entrée
total_records
dans l'élément de sortieresults
et l'élément d'entréetotal_pages
dans l'élément de sortiepages
. -
Cliquez sur l'élément de sortie
root
et ouvrez l'onglet Util, puis glissez-déposez-y une fonction PutValueToExternalMap. - Glissez-déposez une fonction Constant sur l'argument Key, double-cliquez dessus et définissez le nom de la variable, total.pages par exemple.
-
Glissez-déposez une fonction XPathFunction dans l'argument Value, double-cliquez dessus et saisissez xs:integer(%v) dans le champ Function/Arguments.
Dans cet exemple, la variable créée doit être un entier. Cependant, PutValueToExternalMap produit une chaîne de carctères par défaut. Pour utiliser la variable en tant qu'entier, vous devez ajouter la fonction XPathFunction et la définir comme BigInteger.
-
Glissez-déposez l'élément d'entrée
total_pages
sur XPathFunction. - Sauvegardez la map.