Retour

Extraire les données à partir d’une API

Temps de lecture : 3 minutes

Dans ce tutoriel, vous allez apprendre comment s’authentifier à une API, puis vous allez apprendre à extraire les données via une API.

Prérequis :

Composants ESB & ETL utilisés dans le traitement :

  • tRESTClient : pour faire l’appel à un service web.
  • tExtractJSONFieled : pour extraire les champs d’un objet JSON.
  • tSetGlobalVar : qui permet de créer des variables globales.
  • tMap : pour mapper les champs.
  • tlogRow : pour afichier le contenu d’un flux dans la console d’exécution.

Scénario :

Vous avez votre source de données qui est un service web (REST API) qui vous fournit les données sous format JSON, et vous voulez se connecter à ce service afin d’extraire les données. Dans notre cas le service web nécessite un jeton d’authentification, donc dans ce tutoriel nous allons suivre les étapes de l’authentification jusqu’à l’extraction et l’affichage des données.

1.Authentification au service web :

Procédure :

  • Dans votre designer ajoutez le composant tRESTClient et configurez-le en saisissant les paramètres suivants :
  • URL : le lien http/https qui permet d’accéder au service d’authentification.
  • Http Method : choisissez la méthode supportée par votre WS dans notre cas c’est la méthode POST
  •   Content type : choisissez le type du contenu de votre body. Dans notre cas c’est FORM.
  • Query parametres : Saisissez les paramètres demandés par votre WS. Dans notre cas se sont :  « grant_type », « client_id », « client_secret »,et « resource ».
  • Ajoutez le composant tExtractJSONFileds et reliez votre tRESTClient avec ce dernier en utilisant une connexion de type main.
  • Configurez le schéma de votre composant tExtractJSONFileds et configurez les requêtes JSONPath afin d’extraire les bonnes valeurs dans les bons champs. La figure ci-dessous montre la configuration que nous avons utilisé.
  • Reliez votre composant tExtractJSONFileds avec le composant tSetGlobalVar afin de stocker le jeton dans une variable globale et utiliser sa valeur dans l’appel API suivant.

Votre premier bloc de votre job devra ressemble a celui dans la figure ci-dessous :

2.Extraction et affichage des données :

Procédure :

  • Ajoutez un autre composant tRestClient et configurez-le comme le montre la figure ci-dessous :
  • Reliez votre tRESTClient avec le composant tExtractJSON afin d’extraire les valeurs de vos champs à partir de l’objet JSON renvoyer par le service web.

La configuration du composant tExtractJSONFileds est montré dans la figure ci-dessous :

  • Reliez la sortie de votre composant tExtractJSONFileds avec un tMap et configurez votre mapping.
  • Reliez la sortie de votre tMap avec un tLogRow afin d’afficher le contenu de votre flux.
  • Enfin reliez le premier bloc de votre job avec le deuxième en utilisant une connexion de type trigger OnSubJobOk.

Votre job devra ressembler à celui dans la figure ci-dessous :

Vous savez désormais comment s’authentifier et extraire les données via une API.

Laisser un commentaire

-
  1. je veux savoir comment je peux reginier un token quend il expire, psq ici il fait tjr la genereation d un token

    1. Pour le renouvellement du token après son expiration, vous pouvez utiliser le composant Talend TLoop pour créer une boucle de type « while » basée sur la durée d’expiration. Cette boucle permettra de récupérer un nouveau token chaque fois que la condition liée à la durée d’expiration est satisfaite.