Propriétés du tRESTRequest Standard - 7.3

ESB REST

Version
7.3
Language
Français
Product
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 Real-Time Big Data Platform
Module
Studio Talend
Content
Création et développement > Systèmes tiers > Composants ESB > Composants ESB REST
Gouvernance de données > Systèmes tiers > Composants ESB > Composants ESB REST
Qualité et préparation de données > Systèmes tiers > Composants ESB > Composants ESB REST
Last publication date
2024-02-22

Ces propriétés sont utilisées pour configurer le tRESTRequest s'exécutant dans le framework de Jobs Standard.

Le composant tRESTRequest Standard appartient à la famille ESB.

Ce composant est adapté pour une utilisation avec l'une des solutions Talend comprenant ESB, car il doit être utilisé avec le nœud Service du Repository et les assistants de création Data Service.

Basic settings

Initialize from OAS/Swagger 2.0 API definition / Definition file

Cliquez sur [...] pour parcourir votre système jusqu'au fichier OAS/Swagger 2.0 afin d'initialiser l'endpoint de votre composant, les mappings d'API et la documentation de votre définition d'API.

REST Endpoint

Renseignez ce champ en saisissant l'emplacement de l'URI où le service Web RESTful sera accessible pour les requêtes. Vous pouvez spécifier un numéro de port explicite, par exemple "http://localhost:8088/services/customers" ou bien utiliser le port par défaut de Talend et ne spécifier que le chemin relatif, par exemple "/services/customers".

Le port par défaut est différent selon le type de build ou l'emplacement de l'exécution du service :
  • Pour exécuter le service dans Studio Talend : 8090
  • Pour exécuter le service dans un Conteneur de Talend Runtime : dans le cas où HTTP 8040 est utilisé dans tous les services et HTTPS est activé sur Talend Runtime, le service est également exposé sur 9001 ;
  • Pour exécuter le service comme Microservice : 8065

Si vous avez installé la version mensuelle R2020-05 du Studio, ou une version ultérieure fournie par Talend, vous pouvez définir l'endpoint à l'aide de variables de contexte. Pour plus d'informations concernant la mise à jour mensuelle du Studio, consultez votre administrateur ou administratrice.

REST API Mapping

Cliquez sur le bouton [+] sous la table de mapping pour ajouter des lignes pour spécifier des requêtes HTTP :

Output Flow : cliquez sur le bouton [...] afin de spécifier le nom d'un flux de sortie et configurez le schéma du flux de sortie dans la boîte de dialogue qui suit.

Le schéma n'est pas obligatoire, donc, si vous ne devez pas passer des paramètres supplémentaires au composant tRESTRequest, vous pouvez laisser le schéma vide. Cependant, vous devez alimenter le schéma si vous avez des paramètres URI Path définis dans le champ URI Pattern ou si vous devez ajouter des paramètres facultatifs de requêtes, tels que URI Query, HTTP Header ou Form parameters à l'URI spécifiée dans le champ REST Endpoint.

Ajouter un schéma dont le nom est body permet de récupérer le corps de la requête des méthodes POST ou PUT. Les types Document, String et Byte sont supportés.

Si vous spécifiez des paramètres d'URI dans le schéma du flux de sortie, vous devez définir le type de paramètre dans le champ Comment du schéma. Par défaut, si vous laissez le champ Comment vide, le paramètre est considéré comme un paramètre Path. Voici une liste des valeurs supportées dans Comment :
  • vide ou path correspond au paramètre par défaut @PathParam,

  • query correspond à @QueryParam,

  • form correspond à @FormParam,

  • header correspond à @HeaderParam.

  • matrix correspond à @MatrixParam.

  • multipart correspond @Multipart de CXF, représentant le corps de la requête. Il peut être utilisé avec la méthode POST ou PUT HTTP.

    Par exemple, ajoutez une colonne number et saisissez query dans le champ Comment pour obtenir le numéro de paramètre dans la requête. Ajoutez une colonne du même nom comme en-tête et saisissez header dans le champ Comment pour récupérer l'en-tête HTTP.
Remarque : Il est recommandé de définir les valeurs par défaut de vos paramètres facultatifs (Header, Query, Form). Pour ce faire, renseignez les colonnes Default du schéma.

HTTP Verb : sélectionnez une méthode HTTP (GET/POST/PUT/PATCH/DELETE/OPTIONS/HEAD) dans la liste.

URI pattern : renseignez ce champ avec les URI RESTful décrivant la ressource.

Consumes : sélectionnez dans la liste le type de format du contenu consommé que le composant utilise, entre XML or JSON, XML, JSON, Form, Multipart et Any lorsque la méthode HTTP est POST, PUT ou PATCH.

Produces : lorsque la méthode HTTP est GET, POST, PUT, PATCH ou DELETE, sélectionnez dans la liste le type de format du contenu produit que le composant utilise, entre XML or JSON, XML, JSON, HTML et Any, ou sélectionnez <oneway> dans la liste pour accepter les requêtes à sens unique.

Streaming : cochez cette case pour mettre en flux les données de réponse par morceaux, afin que les grands volumes de données puissent être traités efficacement.

Use Service Locator Cochez cette case pour activer le Service Locator. Cela maintient la disponibilité du service et permet de répondre aux demandes et de respecter les accords de niveau de service (SLA). Spécifiez l'espace de noms du Service ainsi que le nom du Service dans les champs correspondants.
Use Service Activity Monitor Cochez cette case pour activer le Service Activity Monitor. Il capture les événements et stocke les informations afin de faciliter les analyses en profondeur de l'activité des services et de suivre les messages via une transaction métier. Cette option peut être utilisée, entre autres, pour analyser le temps de réponse du service, identifier les modèles de trafic ou effectuer une analyse de cause racine.

Use Authentication (ESB runtime only)

Cochez cette case pour activer l'option d'authentification dans ce service. Cette option fonctionne uniquement dans le Runtime. Sélectionnez le type d'authentification entre les suivants :

  • Basic HTTP : la méthode la plus simple pour implémenter les contrôles d'accès aux ressources Web à l'aide de champs standards dans l'en-tête HTTP.
  • SAML Token : format de données XML basé sur des standards ouverts pour échanger des données d'authentification et d'autorisation entre un fournisseur d'identité et un fournisseur de service.
  • Open ID Connect : extension pour OAuth2 permettant aux clients de vérifier l'identité de l'utilisateur final, se basant sur l'authentification effectuée par un serveur d'autorisation, ainsi que d'obtenir des informations de base sur le profil de l'utilisateur final, d'une manière interopérable et semblable à REST. Pour plus d'informations, consultez Talend Identity and Access Management (en anglais) et Gestion des autorisations et Ressources ESB.

Use Authorization

Cochez cette case pour activer les appels autorisés. Cette option apparaît lorsque l'option SAML Token (ESB runtime only) est sélectionnée dans la liste Use Authentication.

Pour plus d'informations concernant la gestion des rôles et les droits des utilisateurs et des utilisatrices, consultez le Guide d'utilisation de Talend Administration Center et le Talend Talend ESB Infrastructure Services Configuration Guide (en anglais).

Use Business Correlation

Cochez cette case pour activer l'option de corrélation, afin que les appels en chaîne de services soient groupés sous le même ID de corrélation ID. Le tRESTRequest extrait l'ID de corrélation de l'en-tête de la requête et le stocke dans la variable du composant pour usage ultérieur dans le flux.

Si cette option n'est pas activée du côté client, un ID de corrélation est automatiquement généré dans le tRESTRequest.

Advanced settings

Log Messages Cochez cette case pour enregistrer l'échange de messages entre le service et le consommateur.
Wrap JSON Request Cochez cette case pour entourer la requête JSON d'un élément root.
Attributes to Elements Cochez cette case pour exclure @ de l'attribut de réponse.
Remarque : Cette option est disponible uniquement lorsque vous avez installé la mise à jour mensuelle R2021-09 du Studio ou une mise à jour plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.
Convert JSON values to String in response Cochez cette case pour convertir les valeurs JSON en format String dans la réponse.
Service Locator Customer Properties Cette option apparaît lorsque la case Use Service Locator est cochée dans la vue Basic settings. Cliquez sur le bouton [+] pour ajouter autant de propriétés que nécessaire dans la table. Saisissez le nom et la valeur de chaque propriété dans le champ Property Name et Property Value respectivement.
Service Activity Customer Properties Cette option apparaît lorsque la case Use Service Activity Monitor est cochée dans la vue Basic settings. Cliquez sur le bouton [+] pour ajouter autant de propriétés que nécessaire dans la table. Saisissez le nom et la valeur de chaque propriété dans le champ Property Name et Property Value respectivement.

Expose Swagger specification

Cette option s'affiche lorsque le composant tRESTRequest est utilisé comme fournisseur de service. Cochez cette case pour exposer la spécification Swagger et inclure l'interface d'utilisation Swagger dans le service REST, qui fournit une documentation API en ligne dans un format lisible par l'humain et quelques fonctionnalités de test simples.

Si le Job est exécuté dans le Studio, la spécification Swagger sera disponible à http://127.0.0.1:8090/services/SERVICE_NAME/swagger.json et http://127.0.0.1:8090/services/SERVICE_NAME/swagger.yaml. L'interface d'utilisation Swagger n'est pas disponible.

Si le Job est déployé dans Talend Runtime, la spécification Swagger sera disponible à http://127.0.0.1:8040/services/SERVICE_NAME/swagger.json et http://127.0.0.1:8040/services/SERVICE_NAME/swagger.yaml. L'interface d'utilisation Swagger sera disponible à http://127.0.0.1:8040/services/SERVICE_NAME/api-docs?url=/services/SERVICE_NAME/swagger.json.

Include Documentation into Swagger Spec

Cette option s'affiche lorsque le composant tRESTRequest est utilisé comme fournisseur de service et la case Expose Swagger specification est cochée. Cochez cette option pour ajouter du contenu dans le champ Comment de l'onglet Documentation du composant dans la spécification et l'interface d'utilisation Swagger.

Pour plus d'informations concernant à l'onglet Documentation, consultez le Guide d'utilisation du Studio Talend.

tStatCatcher Statistics

Cochez cette case pour collecter les métadonnées de traitement du Job au niveau du Job ainsi qu'au niveau de chaque composant.

Variables globales

Variables globales

NB_LINE : nombre de lignes traitées. Cette variable est une variable After et retourne un entier.

URI : URI de la requête REST. Cette variable est une variable Flow et retourne une chaîne de caractères.

URI_BASE : URI de base de la requête REST. Cette variable est une variable Flow et retourne une chaîne de caractères.

URI_ABSOLUTE : URI absolue de la requête REST. Cette variable est une variable Flow et retourne une chaîne de caractères.

HTTP_METHOD : méthode HTTP. Cette variable est une variable Flow et retourne une chaîne de caractères.

ATTACHMENT_HEADERS : en-têtes des pièces jointes de la requête REST. Cette variable est une variable Flow et retourne une liste des valeurs des en-têtes des pièces jointes.

ATTACHMENT_FILENAMES : nom des fichiers des pièces jointes de la requête REST. Cette variable est une variable Flow et retourne tous les noms de fichiers des pièces jointes.

PRINCIPAL_NAME : nom du Principal de la requête REST. Cette variable est une variable Flow et retourne une chaîne de caractères.

CORRELATION_ID : l'ID de corrélation par lequel regrouper les appels de services en chaîne. Cette variable est une variable Flow et retourne une chaîne de caractères.

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, lorsque le composant contient cette case.

Une variable Flow fonctionne durant 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. À partir de cette liste, vous pouvez choisir la variable que vous souhaitez utiliser.

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

Utilisation

Règle d'utilisation

Ce composant couvre la possibilité d'exposer un Job Talend en tant que Service, avec la possibilité d'écrire une requête de service dans un Job et retourne le résultat du Job en tant que réponse.

Le composant tRESTRequest doit être utilisé avec le tRESTResponse afin de fournir les résultats d'un Job en tant que réponse, dans le cas d'une communication de style requête-réponse.

Limitation

L'utilisation des variables de contexte pour les endpoints dynamiques ou les espaces de noms du Service Locator fonctionne uniquement dans le Studio. Elle n'est pas supportée dans le Runtime.