tREST - 6.1

Composants Talend Guide de référence

EnrichVersion
6.1
EnrichProdName
Talend Big Data
Talend Big Data Platform
Talend Data Fabric
Talend Data Integration
Talend Data Management Platform
Talend Data Services Platform
Talend ESB
Talend MDM Platform
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
Talend Real-Time Big Data Platform
task
Création et développement
Gouvernance de données
Qualité et préparation de données
EnrichPlatform
Studio Talend

Propriétés du tREST

Famille du composant

Internet

 

Fonction

Le composant tREST envoie des requêtes HTTP à un fournisseur de services Web REpresentational State Transfer (REST) et obtient les réponses correspondantes.

Objectif

Le composant tREST sert de client d'un service Web REST. Il envoie des requêtes HTTP à un fournisseur de services Web et obtient les réponses correspondantes.

Basic settings

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 composant tREST utilise toujours un schéma local (built-in) en lecture seule qui contient deux colonnes :

- Body : stocke les résultats provenant du serveur

- ERROR_CODE : stocke le code de statut HTTP lorsqu'une erreur survient pendant le processus d'invocation. Le sens spécifique des codes d'erreur est soumis aux définitions de votre fournisseur de services Web. Pour plus d'informations, consultez en.wikipedia.org/wiki/List_of_HTTP_status_codes (en anglais).

Cliquez sur Edit Schema pour visualiser le schéma.

Avertissement

Modifier le schéma peut engendrer une perte de la structure du schéma et donc un échec du composant.

 

URL

Renseignez l'adresse URL du serveur Web REST à invoquer.

 

HTTP Method

A partir de cette liste, sélectionnez une méthode HTTP qui décrit l'action souhaitée. Le sens spécifique des méthodes HTTP est soumis aux définitions de votre fournisseur de services Web. Ci-dessous, les définitions des méthodes HTTP généralement admises :

- GET : récupère les données du côté serveur en fonction des paramètres donnés.

- POST : crée et télécharge les données en fonction des paramètres donnés.

- PUT : met à jour les données en fonction des paramètres donnés, ou crée les données si elles sont inexistantes.

- DELETE : supprime les données en fonction des paramètres donnés.

 

HTTP Headers

Saisissez les paires nom/valeur (name/value) pour les en-têtes HTTP afin de définir les paramètres de l'opération HTTP demandée.

Pour connaître les définitions spécifiques d'en-têtes HTTP, consultez votre fournisseur de services Web REST. Pour plus d'informations, consultez http://en.wikipedia.org/wiki/List_of_HTTP_headers (en anglais).

 

HTTP Body

Saisissez les données utiles (payload) à charger du côté serveur lorsque les actions POST ou PUT sont sélectionnées.

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.

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 est utilisé comme client d'un service Web REST afin de communiquer avec un fournisseur de services Web REST. Il requiert un composant de sortie.

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).

Limitation

L'exécution de JRE 1.6 est requise pour faire fonctionner ce composant.

Scénario : Créer et récupérer des données en invoquant un service Web REST

Ce scénario décrit un Job simple qui invoque un service Web REST afin de créer un nouvel enregistrement client du côté serveur et de récupérer les informations du client. Une fois exécuté, ce Job affiche les informations correspondantes dans la console de la vue Run.

  • A partir de la Palette, cliquez-déposez les composants suivants dans l'espace de modélisation graphique : deux composants tREST et deux composants tLogRow. Renommez les deux composants tREST afin qu'ils décrivent au mieux les actions à effectuer.

  • Connectez chaque composant tREST à un tLogRow à l'aide d'une connexion de type Row > Main.

  • Connectez le premier composant tREST au second tREST à l'aide d'une connexion de type Trigger > OnSubjobOk.

  • Double-cliquez sur le premier composant tREST afin d'afficher l'onglet Basic settings de sa vue Component.

  • Renseignez le champ URL avec l'adresse URL du serveur Web que vous êtes sur le point d'invoquer. Notez que l'adresse URL fournie dans ce scénario est destinée essentiellement à la démonstration, ce n'est pas une adresse valide.

  • A partir de la liste HTTP Method, sélectionnez POST afin d'envoyer une requête HTTP permettant de créer un nouvel enregistrement.

  • Cliquez sur le bouton [+] afin d'ajouter une ligne au tableau HTTP Headers, et saisissez la paire nom-valeur (name-value) adéquate, soumise aux définitions de votre fournisseur de service, en indiquant le type de média des données utiles (payload) à envoyer du côté serveur. Dans ce scénario, saisissez Content-Type et application/xml. Pour plus d'informations concernant les types de média Internet, consultez http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7 (en anglais).

  • Saisissez dans le champ HTTP Body les données utiles (payload) à charger du côté serveur, à savoir <Customer><name>Steven</name></Customer> dans ce scénario, pour créer un enregistrement d'un nouvel utilisateur appelé Steven.

Note

Si vous souhaitez inclure des guillemets double dans votre payload, assurez-vous d'utiliser un caractère d'échappement, la barre oblique inversée, avant chaque guillemet. Dans ce scénario par exemple, saisissez <Customer><name>\"Steven\"</name></Customer> si vous souhaitez mettre le prénom Steven entre guillemets double.

  • Double-cliquez sur le second tREST afin d'afficher l'onglet Basic settings de sa vue Component.

  • Renseignez le champ URL avec la même adresse URL que celle utilisée dans le premier composant tREST.

  • A partir de la liste HTTP Method, sélectionnez GET afin d'envoyer une requête HTTP permettant de récupérer tous les enregistrements existants.

  • Dans l'onglet Basic settings de la vue Component de chaque tLogRow, cochez la case Print component unique name in front of each output row (Afficher le nom unique du composant en face de chaque ligne de sortie) pour identifier au mieux les deux flux de sortie.

  • Sauvegardez votre Job et appuyez sur F6 pour l'exécuter.

    La console indique que le premier composant tREST envoie une requête HTTP côté serveur afin de créer un nouvel utilisateur appelé Steven et que le second composant tREST lit avec succès les données côté serveur comprenant les informations de l'utilisateur nouvellement créé.