Propriétés du tRESTRequest Standard - Cloud - 8.0

ESB REST

Version
Cloud
8.0
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-21

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

API Definition / Definition

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

Les valeurs du flux de sortie dans le mapping d'API sont utilisées dans du code Java généré et ne respectent donc le type de casse camel case. Les valeurs du flux de sortie sont prises ou calculées depuis la définition de l'API, avec ces priorités :
  • operationId, qui reflète la bonne pratique. Même si operationId n'est pas un champ obligatoire dans une spécification OAS, il est recommandé de l'utiliser, lors de la conception de l'API,
  • summary (Nom dans Talend API Designer), qui sera converti et tronqué en 120 caractères au format supporté,
  • méthode et chemin de l'opération, qui seront calculé·es avec la même contrainte que le résumé.

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

Vous pouvez définir le point de terminaison à l'aide des variables de contexte.

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 que l'en-tête et saisissez header dans le champ Comment pour récupérer l'en-tête HTTP.

    Vous ne pouvez utiliser les noms d'opérations d'API avec des caractères spéciaux, par exemple - ou $ dans la colonne Column, car ces noms d'opérations seront utilisés comme identifiants Java dans le code généré.

    Si vous avez installé la mise à jour mensuelle R2022-02 du Studio Talend ou une mise à jour plus récente fournie par Talend, vous pouvez utiliser n'importe quel caractère dans le nom des paramètres, en ajoutant (param-name) après le type de paramètre, dans la colonne Comment. Ce mécanisme permet d'éviter les échecs lors de l'import d'API depuis Talend API Designer dans un service de données. Si des caractères spéciaux sont utilisés dans le concepteur d'API, ils sont remplacés dans la colonne Column de manière à être conforme à Java. Le nom réel du paramètre est ajouté à la colonne Comment. Pour plus d'informations concernant les mises à jour mensuelles du Studio Talend, contactez votre administrateur ou administratrice.

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 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 et les droits des rôles utilisateur·trices, consultez Gestions des autorisations et Ressources ESB et Talend Identity and Access Management (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.
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 s'affiche lorsque l'option Use Service Locator est activée dans l'onglet 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.

Statistiques du tStatCatcher

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

Pour plus d'informations concernant les variables, consultez Utiliser les contextes et les variables.

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 Talend. Elle n'est pas supportée dans Talend Runtime.