tHttpRequest - 6.1

Composants Talend Open Studio Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Open Studio for Big Data
Talend Open Studio for Data Integration
Talend Open Studio for Data Quality
Talend Open Studio for ESB
Talend Open Studio for MDM
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Propriétés du tHttpRequest

Famille du composant

Internet

 

Fonction

Ce composant envoie une requête HTTP au serveur et obtient des réponses HTTP du serveur.

Objectif

Le composant tHttpRequest vous permet d'envoyer des requêtes HTTP au serveur et d'écrire les réponses localement.

 

Schema et Edit schema

Un schéma est une description de lignes, il définit le nombre de champs qui sont traités et passés au composant suivant. Le schéma est soit local (Built-in), soit distant dans le Repository.

Depuis la version 5.6, les modes Built-In et Repository sont disponibles dans toutes les solutions de Talend.

Cliquez sur Edit schema pour modifier le schéma. Si le schéma est en mode Repository, trois options sont disponibles :

  • View schema : sélectionnez cette option afin de voir le schéma.

  • Change to Built-In property : sélectionnez cette option pour passer le schéma en mode Built-In et effectuer des modifications locales.

  • Update repository connection : sélectionnez cette option afin de modifier le schéma stocké dans le référentiel et décider de propager ou non les modifications à tous les Jobs. Si vous souhaitez propager les modifications uniquement au Job courant, sélectionnez No et sélectionnez à nouveau la métadonnée du schéma dans la fenêtre [Repository Content].

 

 

Built-in : Le schéma est créé et conservé ponctuellement pour ce composant seulement. Voir également le Guide utilisateur duStudio Talend.

 

 

Repository : Sélectionnez le fichier de propriétés du composant. Les champs suivants sont alors pré-remplis à l'aide des données collectées.

 

Sync columns

Cliquez sur ce bouton pour récupérer le schéma du composant précédent.

 

URI

Saisissez l'URI (Identifiant uniforme de ressource) à partir duquel seront identifiées les ressources sur le serveur. Un URI est similaire à un URL mais il est plus générique.

 

Method

Sélectionnez dans la liste la méthode pour définir l'action à effectuer :

Post : Choisissez cette méthode pour envoyer des données côté serveur (des données de formulaires HTML par exemple).

Get : Choisissez cette méthode pour récupérer des données côté serveur.

 

Post parameters from file

Parcourez votre système ou entrez le chemin vers le fichier utilisé pour passer des paramètres (corps de la requête) à la méthode POST.

 

Write response content to file

Cochez cette case afin de sauvegarder la réponse HTTP dans un fichier local. Vous pouvez soit renseigner le chemin d'accès au fichier d'entrée, soit cliquer sur [...] pour choisir le chemin d'accès dans votre système de fichiers.

 

Create directory if not exists

Cochez cette case afin de créer le répertoire défini dans le champ Write response content to file s'il n'existe pas.

Cette case est décochée par défaut et apparaît lorsque la case Write response content to file est cochée.

 

Headers

Renseignez la (les) paire(s) nom-valeur des en-têtes HTTP pour définir les paramètres de l'opération HTTP requise :

Header key : Saisissez le nom du champ d'en-tête de l'en-tête HTTP.

Value : Saisissez le contenu du champ d'en-tête de l'en-tête HTTP.

Pour plus d'informations concernant la définition des en-têtes HTTP, consultez (en anglais) : http://en.wikipedia.org/wiki/List_of_HTTP_headers.

 

Need authentication

Cochez cette case afin de saisir un identifiant et un mot de passe dans les champs correspondants si une authentification est nécessaire :

user : Saisissez l'identifiant de connexion au serveur.

password : Saisissez le mot de passe de connexion au serveur.

Pour saisir le mot de passe, cliquez sur le bouton [...] à côté du champ Password, puis, dans la boîte de dialogue qui s'ouvre, saisissez le mot de passe entre guillemets doubles, puis cliquez sur OK afin de sauvegarder les paramètres.

 

Die on error

Cochez cette case pour arrêter l'exécution du Job lorsqu'une erreur survient.

Décochez la case pour ignorer les lignes en erreur et terminer le processus avec les lignes sans erreur. Lorsque les erreurs sont ignorées,vous pouvez récupérer les lignes en erreur, si vous le souhaitez. Pour cela, utilisez un lien Row > Reject.

Advanced settings

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du Job ainsi qu'au niveau de chaque composant.

Global Variables

ERROR_MESSAGE : message d'erreur généré par le composant lorsqu'une erreur survient. Cette variable est une variable After et retourne une chaîne de caractères. Cette variable fonctionne uniquement si la case Die on error est décochée, si le composant a cette option.

CONNECTED : indique si une connexion au serveur est établie. Cette variable est une variable After et retourne un booléen.

RESPONSE_CODE : code de réponse retourné par le serveur distant HTTP. Cette variable est une variable After et retourne un nombre entier.

Une variable Flow fonctionne durant l'exécution d'un composant. Une variable After fonctionne après l'exécution d'un composant.

Pour renseigner un champ ou une expression à l'aide d'une variable, appuyez sur les touches Ctrl+Espace pour accéder à la liste des variables. A partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

Pour plus d'informations concernant les variables, consultez le Guide utilisateur du Studio Talend.

Utilisation

Ce composant peut être utilisé pour l'envoi de requêtes HTTP au serveur ainsi que pour l'enregistrement des réponses HTTP obtenues. Il peut être utilisé en standalone.

Log4j

Si vous utilisez une solution Talend soumise à souscription, l'activité de ce composant peut être journalisée avec la fonctionnalité log4j. Pour plus d'informations sur cette fonctionnalité, consultez le Guide utilisateur du Studio Talend.

Pour plus d'informations sur les niveaux de logs du log4j, consultez la documentation d'Apache : http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html (en anglais).

Scénario 1 : Envoyer une requête HTTP au serveur et sauvegarder localement les réponses HTTP obtenues

Ce scénario décrit un Job à deux composants qui utilise la méthode GET pour récupérer des informations du serveur et écrire les réponses dans un fichier local ainsi que dans la console.

Relier les composants

  1. Dans la perspective Integration du Studio, créez un Job à partir du nœud Job Designs du Repository.

    Pour plus d'informations concernant la création de Job, consultez le Guide utilisateur du Studio Talend.

  2. A partir de la Palette, déposez les composants suivants dans l'espace de modélisation graphique : un composant tHttpRequest et un tLogRow.

  3. Connectez le composant tHttpRequest au composant tLogRow à l'aide d'une connexion de type Row > Main.

Configurer la requête GET

  1. Double-cliquez sur le composant tHttpRequest pour ouvrir l'onglet Basic settings de sa vue Component et paramétrer ses propriétés.

  2. Saisissez "http://192.168.0.63:8081/testHttpRequest/build.xml" dans le champ URI. Notez que l'adresse URI fournie dans ce scénario est destinée essentiellement à la démonstration, ce n'est pas une adresse valide.

  3. Sélectionnez GET dans la liste déroulante Method.

  4. Cochez la case Write response content to file et renseignez le chemin d'accès dans le champ à droite. Pour ce scénario, saisissez D:/test.txt.

  5. Cochez la case Need authentication. Pour ce scénario, saisissez  "tomcat" dans les champs user et password.

Exécuter le Job

Vous pouvez à présent exécuter ce Job.

Le composant tLogRow est utilisé pour afficher le résultat de l'exécution de ce Job.

  1. Si vous souhaitez personnaliser la manière dont le tLogRow affiche les résultats, double-cliquez sur le composant pour ouvrir l'onglet Basic settings de sa vue Component et sélectionnez Table (print values in cells of a table) dans le champ Mode.

  2. Appuyez sur F6 pour exécuter le Job.

La réponse du serveur est alors sauvegardée et affichée.

Scénario 2 : Envoyer une requête POST depuis un fichier local JSON

Dans ce scénario, un Job de quatre composants est utilisé pour lire les paramètres depuis un fichier JSON et les envoyer à un site Web dans une requête POST.

Le fichier JSON utilisé se présente comme suit :

{"echo":
      [
		{
			"data":"e=hello"
		}
	  ]
}

Depuis ce fichier, le tFileInputJSON lit le paramètre e ainsi que sa valeur hello. Le tHttpRequest envoie le paramètre et sa valeur vers http://echo.itcuties.com/, une URL fournie pour l'exemple par une communauté de programmeurs en ligne, www.itcuties.com.

Notez que le paramètre e est requis par http://echo.itcuties.com/.

Relier les composants

  1. Dans la perspective Integration du Studio, créez un Job vierge, nommé httpRequestPostDemo par exemple, depuis le nœud Job Designs du Repository.

    Pour plus d'informations concernant la création d'un Job, consultez le Guide utilisateur du Studio Talend.

  2. Déposez un tFileInputJSON, un tFileOutputDelimited, un tHttpRequest et un tLogRow dans l'espace de modélisation graphique.

  3. Reliez le tFileInputJSON au tHttpRequest à l'aide d'un lien Trigger > On Subjob Ok.

  4. Reliez les autres composants entre eux à l'aide de liens Row > Main.

Lire le fichier JSON

  1. Double-cliquez sur le tFileInputJSON afin d'ouvrir sa vue Component.

  2. Cliquez sur le bouton [...] à côté du champ Edit schema afin d'ouvrir l'éditeur de schéma.

  3. Cliquez sur le bouton [+] afin d'ajouter une ligne et nommez-la, par exemple, data.

  4. Cliquez sur OK afin de valider ces changements puis acceptez la propagation du schéma dans la boîte de dialogue qui s'affiche.

  5. Dans le champ File name, parcourez votre système ou saisissez le chemin vers le fichier source JSON contenant les paramètres à envoyer.

  6. Dans la table Mapping, la colonne data, définie précédemment dans le schéma du composant, est automatiquement ajoutée. Dans la colonne JSONPath query de cette table, saisissez le chemin JSON, entre guillemets, afin d'extraire les paramètres à envoyer. Dans ce scénario, le chemin est echo[0].data.

Ecrire le paramètre dans un fichier plat

  1. Double-cliquez sur le tFileOutputDelimited afin d'ouvrir sa vue Component.

  2. Dans le champ File name, parcourez votre système ou saisissez le chemin vers le fichier plat dans lequel vous souhaitez écrire les paramètres extraits. S'il n'existe pas, le fichier est créé à l'exécution. Dans cet exemple, le chemin est C:/tmp/postParamsFile.txt.

Poster le paramètre

  1. Double-cliquez sur le tHttpRequest afin d'ouvrir sa vue Component.

  2. Dans le champ URI, saisissez l'adresse du serveur vers lequel le paramètre est envoyé, http://echo.itcuties.com/ dans ce scénario.

  3. Dans la liste Method, sélectionnez POST.

  4. Dans le champ Post parameters from file, parcourez votre système ou saisissez le chemin vers le fichier plat contenant les paramètres utilisés. Comme défini précédemment, dans le composant tFileOutputDelimited, ce chemin est C:/tmp/postParamsFile.txt.

Exécuter le Job

Appuyez sur F6 pour exécuter ce Job.

Le tLogRow est utilisé pour afficher les résultats d'exécution du Job.

Une fois le Job exécuté, la vue Run s'ouvre automatiquement, vous permettant de vérifier le résultat de l'exécution.

Les réponses renvoyées par le site qui reçoit les paramètres s'affichent dans la console.