Accéder au contenu principal Passer au contenu complémentaire

Utiliser une variable globalMap dans une map

Configurez votre Job pour utiliser des variables globalMap dans différents composants.

Procédure

  1. Dans votre Job, ajoutez un composant tLoop sous le tHMap. Reliez le tHMap au tLoop à l'aide d'un lien Trigger > On Component Ok.
  2. Près du tLoop, ajoutez les composants suivants :
    • un tHttpRequest,
    • un tHMap,
    • un tLogRow.
  3. Reliez le tLoop au tHttpRequest à l'aide d'un lien Row > Iterate et reliez les autres composants à l'aide de liens Row > Main.
    Votre Job doit ressembler à ceci :
  4. Double-cliquez sur le composant tLoopet configurez-le comme suit :
    Paramètre Valeur
    Loop Type (Type de boucle) Pour en
    From 1
    To (((java.math.BigInteger)globalMap.get("total.pages"))).intValue()
    Step 1
    Cette configuration vous permet de définir la fin de la boucle comme étant un nombre total de pages dans la réponse de l'API. Puisque la variable total.pages créée dans la map est de type BigInteger, vous devez la convertir en Integer pour pouvoir l'utiliser comme valeur dans le tLoop.
  5. Double-cliquez sur le second composant tHttpRequestet configurez-le comme suit :
    Paramètre Valeur
    URI "https://www.swapi.tech/api/people?page="+((Integer)globalMap.get("tLoop_1_CURRENT_VALUE"))+"&limit=10"
    Méthode GET

    Cette configuration vous permet d'utiliser la valeur de la boucle courante comme numéro de page dans les paramètres de requête.

  6. Double-cliquez sur le tLogRow et définissez son schéma :
    Column Type
    . Entier
    character Chaîne de caractères
    character_id Entier
  7. Double-cliquez sur le composant tHMap pour générer la map.
    1. 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.
    2. 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.
  8. Glissez-déposez l'élément d'entrée results/uuid sur l'élément de sortie character_id et l'élément d'entrée results/name sur l'élément de sortie character.
  9. Glissez-déposez une fonction GetValueFromExternalMap sur l'élément de sortie page et ajoutez une fonction Constant sur l'argument Key.
  10. Double-cliquez sur la fonction Constant et saisissez tLoop_1_CURRENT_VALUE dans le champ Value.
    Cela vous permet de récupérer la valeur de la boucle courante depuis le composant tLoop pour obtenir le numéro de page pour chaque résultat.
  11. Dans l'onglet Run, cliquez sur Run pour exécuter le Job.

Résultats

Le résultat doit ressembler à ceci :

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !