Propriétés du tHTTPClient Standard
Ces propriétés sont utilisées pour configurer le tHTTPClient s'exécutant dans le framework de Jobs Standard.
Le composant tHTTPClient Standard appartient à la famille Internet.
Le composant de ce framework est disponible dans tous les produits Talend nécessitant une souscription.
- Ce composant est disponible uniquement si vous avez installé la mise à jour mensuelle 8.0.1-R2023-05 du Studio Talend ou une plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.
- À partir d'aujourd'hui, il est recommandé d'utiliser le composant tHTTPClient au lieu du composant tRESTClient.
Basic settings
Property type | Peut-être Built-In ou Repository.
|
Guess schema | Cliquez sur ce bouton pour récupérer le schéma en fonction de vos paramètres. Ce bouton fonctionne lorsque l'option Status, headers and body est sélectionnée dans la liste déroulante Returned content ou que l'option Output key/value pairs est sélectionnée et que les paires clé/valeur sont configurées dans la table, sous l'option Output key/value pairs. Lorsque vous récupérez des données d'un serveur HTTP, vous pouvez spécifier le formatet le contenu des données récupérées à l'aide du schéma, du bouton Guess schema, de l'option Response body format, de l'option Returned content, de l'option Extract a sub-part of the JSON et de l'option Output key/value pairs. Pour plus d'informations, consultez tHTTPClient : configuration et sortie. Note InformationsRemarque : Une erreur survient si vous cliquez sur ce bouton alors que l'option Body est sélectionnée dans la liste déroulante Returned content et que l'option JSON est sélectionnée dans la liste déroulante Response body format. Cela se produit car le composant est conçu pour générer le schéma en fonction de la configuration d'entrée uniquement et pour empêcher l'exécution de la requête HTTP de consommer ou de mettre à jour des données.
|
Schema et Edit Schema | Un schéma est une description de lignes, il définit le nombre de champ qui sont traités et passés au composant suivant. Le schéma est soit local (Built-in), soit distant dans le Repository.
Le composant génère automatiquement le schéma en fonction des paramètres associés du composant. Cependant, vous devez définir le schéma manuellement si vous sélectionnez Body dans la liste déroulante Returned content et JSON dans la liste déroulante Response body format. Dans ce cas, vous devez ajouter une colonne pour chaque attribut de premier niveau et configurer le type de la colonne à String pour les attributs ayant des objets JSON imbriqués. Voici un exemple. Avec l'option JSON sélectionnée dans la liste déroulante Response body format et l'option Body sélectionnée dans la liste déroulante Returned content, le schéma a besoin d'une colonne de type String pour contenir le contenu du nœud address de l'objet JSON suivant dans la réponse.
Vous devez ajouter ces colonnes dans le schéma : id (de type Int), name (de type String) et address (de type String). Le composant peut ensuite extraire zipcode de la colonne address à l'aide du langage Data Shaping Selector Language (par exemple, input.address.zipcode). Par défaut, les colonnes du schéma dépendant de la configuration des options Response body format et Returned content, comme suit.
Lorsque vous récupérez des données d'un serveur HTTP, vous pouvez spécifier le formatet le contenu des données récupérées à l'aide du schéma, du bouton Guess schema, de l'option Response body format, de l'option Returned content, de l'option Extract a sub-part of the JSON et de l'option Output key/value pairs. Pour plus d'informations, consultez tHTTPClient : configuration et sortie. Créez le schéma en cliquant sur le bouton Edit Schema. Si le schéma est en mode Repository, trois options sont disponibles :
|
Sync columns | Cliquez sur ce bouton pour récupérer le schéma du composant précédent. |
Base URL | Saisissez l'URL de base du serveur HTTP auquel accéder, par exemple, https://www.example.com/v1.0/. Pour accéder à un service Web fourni par un serveur HTTP, vous devez fournir l'URL de base et le chemin. Vous pouvez fournir le chemin dans le champ Path. Vous pouvez définir une valeur factice à l'aide de la syntaxe Data Shaping Selector Language pour remplir certaines parties de manière dynamique avec la valeur extraite provenant de l'enregistrement entrant. Exemple : Base URL (URL de base) = "https://{.input.job_url}" et Path (Chemin) = "{.input.job_url_path}" |
Authentication type |
Sélectionnez l'une des méthodes d'authentification suivantes selon les prérequis de sécurité du serveur :
Note InformationsRemarque : Pour saisir un mot de passe, un jeton ou une clé secrète du client, cliquez sur le bouton [...] près du champ correspondant pour ouvrir la boîte de dialogue Enter a new password. Saisissez le mot de passe, le jeton ou la clé secrète dans le champ de texte et cliquez sur OK. Vous pouvez saisir une chaîne de caractères JSON en mode pure password ou une expression Java en mode Java. Vous pouvez passer d'un mode à l'autre en cliquant sur switch to Java mode ou switch to pure password mode au-dessus du champ de texte.
|
HTTP method | Sélectionnez l'une de ces méthodes HTTP pour spécifier l'action à effectuer : GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE ou TRACE. Pour sélectionner une méthode HTTP, cliquez sur le bouton [...] près de cette option et sélectionnez la méthode HTTP de votre choix dans la boîte de dialogue qui s'ouvre. |
Path (Chemin d'accès) | Saisissez la seconde partie de l'URL, afin de compléter l'URL de base renseignée dans le champ Base URL. L'URL de base et le chemin sont concaténés à l'aide du caractère / au besoin. Par exemple, pour chercher des données du serveur avec l'URL https://jira.talendforge.org/rest/api/2/, saisissez search dans ce champ. Consultez la description du champ Base URL pour plus d'informations. Vous pouvez définir une valeur factice à l'aide de la syntaxe Data Shaping Selector Language pour remplir certaines parties de manière dynamique avec la valeur extraite provenant de l'enregistrement entrant. Exemple : Base URL (URL de base) = "https://{.input.job_url}" et Path (Chemin) = "{.input.job_url_path}" |
Path parameters (Paramètres de chemin) | Cochez cette case pour spécifier les paramètres supplémentaires nécessaires pour compléter l'URL de base ou le chemin sous la forme de paires nom-valeur. Si l'URL de base ou le chemin contient une valeur factice, vous pouvez ajouter des paramètres à la table et configurer le nom et la valeur du paramètre comme suit pour remplacer la valeur factice.
Par exemple, avec l'URL de base https://www.example.com et le chemin /{api_version}, vous pouvez configurer le chemin en ajoutant un paramètre à la table, en configurant la colonne Name à api_version et la colonne Value à v1.0. |
Paramètres de requête | Sélectionnez cette option pour spécifier les paramètres qui seront configurés dans l'URL de la requête après le caractère ?, sous forme de paires nom-valeur. Les valeurs sont encodées automatiquement.
Exemple : Nom du paramètre de requête = entityId et valeur du paramètre de requête = UUID-1234567 |
Request headers (En-têtes des requêtes) | Sélectionnez cette option pour définir des en-têtes de requêtes HTTP en tant que paires nom-valeur. Vous pouvez définir chaque en-tête pour qu'il fasse partie de la requête HTTP principale (Main), de la requête d'authentification (Authentication, disponible uniquement avec l'authentification OAuth 2.0), ou des deux requêtes (Both).
Exemple : Nom de l'en-tête = Content-Type et valeur de l'en-tête = text/html;charset=utf-8 |
Corps de la requête | Sélectionnez cette option si vous souhaitez inclure un corps de message dans la requête. |
Body type | Configurez le type de corps en sélectionnant l'option correspondante dans la liste déroulante.
La liste déroulante Body type est disponible lorsque vous sélectionnez l'option Request body. |
Response body format | Sélectionnez le format du corps de la réponse dans la liste déroulante Response body format. Sélectionner le bon format permet au connecteur de parser et d'appliquer les opérations à la réponse. Actuellement, les formats texte et JSON sont supportés.
Lorsque vous récupérez des données d'un serveur HTTP, vous pouvez spécifier le formatet le contenu des données récupérées à l'aide du schéma, du bouton Guess schema, de l'option Response body format, de l'option Returned content, de l'option Extract a sub-part of the JSON et de l'option Output key/value pairs. Pour plus d'informations, consultez tHTTPClient : configuration et sortie. |
Returned content (Contenu retourné) | Sélectionnez l'une des deux options suivantes en fonction des données retournées par le serveur.
Lorsque vous récupérez des données d'un serveur HTTP, vous pouvez spécifier le formatet le contenu des données récupérées à l'aide du schéma, du bouton Guess schema, de l'option Response body format, de l'option Returned content, de l'option Extract a sub-part of the JSON et de l'option Output key/value pairs. Pour plus d'informations, consultez tHTTPClient : configuration et sortie. Note InformationsRemarque : Cette option affecte le schéma du flux de sortie de ce composant. Il est recommandé de mettre à jour le schéma en cliquant sur le bouton Guess schema après avoir sélectionné un élément dans cette liste déroulante.
|
Extract a sub-part of the JSON | Saisissez le chemin d'un nœud pour sélectionner un sous-élément de la réponse. Si l'élément est un tableau, une boucle sera effectuée sur chaque élément du tableau. Pour plus d'informations concernant la syntaxe de saisie du nom du nœud, consultez Utilisation de Data Shaping Selector Language. Ce champ est facultatif et doit rester vide afin de récupérer la réponse JSON complète. Exemple pour le document JSON suivant :
Lorsque vous récupérez des données d'un serveur HTTP, vous pouvez spécifier le formatet le contenu des données récupérées à l'aide du schéma, du bouton Guess schema, de l'option Response body format, de l'option Returned content, de l'option Extract a sub-part of the JSON et de l'option Output key/value pairs. Pour plus d'informations, consultez tHTTPClient : configuration et sortie. Ce champ est disponible si vous sélectionnez JSON dans la liste déroulante Response body format. Note InformationsRemarque : Ce champ affecte le schéma du flux de sortie de ce composant. Il est recommandé de mettre à jour le schéma en cliquant sur le bouton Guess schema après avoir configuré ce champ.
|
Output key/value pairs | Sélectionnez cette option pour retourner les paires clé-valeur au lieu du corps brut de la réponse HTTP. Pour saisir une valeur pour un nœud, ajoutez une ligne à la table en cliquant sur le bouton [+], saisissez le nom du nœud dans le champ Name et saisissez la valeur dans le champ Value. La valeur peut provenir de l'entrée du composant ou de la réponse HTTP. Saisissez "{.input.<dssl_path>}" dans le champ Value si la valeur provient de l'entrée du composant ou saisissez "{.response.<dssl_path>}" si elle provient de la réponse HTTP. Dans l'exmple pour l'option Extract a sub-part of the JSON, vous pouvez récupérer le nom et la valeur des villes des géologues en saisissant .content dans le champ Extract a sub-part of the JSON et en ajoutant deux paires clé/valeur dans la table.
Lorsque vous récupérez des données d'un serveur HTTP, vous pouvez spécifier le formatet le contenu des données récupérées à l'aide du schéma, du bouton Guess schema, de l'option Response body format, de l'option Returned content, de l'option Extract a sub-part of the JSON et de l'option Output key/value pairs. Pour plus d'informations, consultez tHTTPClient : configuration et sortie. Note InformationsRemarque : Cette option affecte le schéma du flux de sortie de ce composant. Il est recommandé de mettre à jour le schéma en cliquant sur le bouton Guess schema après avoir configuré les paires clé/valeur dans la table sous cette option.
|
Forward input values | Sélectionnez cette option pour passer les valeurs reçues du composant d'entrée au composant suivant. Cette option est disponible lorsque l'option Output key/value pairs est sélectionnée. |
Download attachments | Sélectionnez cette option pour sauvegarder les pièces jointes de la réponse en tant que fichier dans un répertoire spécifié. Vous devez saisir le chemin du répertoire dans le champ Directory to save. Si le répertoire spécifié n'existe pas, le composant va essayer de le créer. Assurez-vous d'avoir l'autorisation de créer le répertoire spécifié. Pour une réponse MIME multipart avec des pièces jointes, la première part n'étant pas une pièce jointe dans le corps sera traitée comme le corps de l'enregistrement de sortie. La partie de la pièce jointe est indiquée avec l'en-tête Content-Disposition=attachment;... et le nom de fichier de la pièce jointe est pris depuis sa valeur `name=...`. Si le champ name n'est pas fourni dans les métadonnées de l'en-tête, le fichier sera nommé en fonction du nom du service (c'est-à-dire la valeur Path). Si aucune partie n'a l'en-tête Content-Disposition=attachment, la première partie du multipart est traitée comme le corps de l'enregistrement de sortie et les autres parts sont traitées comme des pièces jointes. Pour les fichiers binaires, le composant tHTTPClient enregistre le corps de la réponse HTTP dans un fichier, sans le modifier. Si aucun nom n'est spécifié dans l'en-tête Content-Disposition, le fichier de résultats sera nommé d'après le nom de la ressource, ave un suffixe _0. Note InformationsRemarque : Cette option est disponible uniquement lorsque vous avez installé la mise à jour mensuelle 8.0.1-R2023-05 du Studio Talend ou une mise à jour plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.
|
Paramètres avancés
Statistiques du tStatCatcher | Cochez cette case pour collecter les données de log au niveau du Job ainsi qu'au niveau de chaque composant. |
Connection timeout (ms) | Configurez le délai avant expiration (en millisecondes) de l'établissement de la connexion au serveur par le connecteur. Une erreur survient si une tentative d'établissement de la connexion échoue. |
Receive timeout (ms) | Configurez le délai avant expiration (en millisecondes) de la réception des données de réponse. Une erreur survient si aucune donnée n'est reçue lorsque le délai avant expiration est dépassé. |
Bypass server certificate validation | Sélectionnez cette option pour empêcher le client de valider le certificat du serveur. Il n'est pas recommandé d'utiliser cette option dans des environnements de production. |
Use a proxy | Sélectionnez cette option pour utiliser un proxy HTTP ou SOCKS.
|
Retry with exponential backoff (Réessayer avec un backoff exponentiel) | Sélectionnez cette option pour effectuer une nouvelle tentative automatique des appels HTTP en échec. Lorsque cette option est sélectionnée, une nouvelle tentative d'appel HTTP est effectuée en cas d'erreur de connexion ou si le délai avant expiration est atteint, ou si le code de statut HTTP est supérieur ou égal à 400. Cependant, aucune tentative n'est effectuée pour les erreurs 401/403/511, qui sont des erreurs relatives à l'authentification.
Exemple pour la configuration suivante : Intial backoff (Backoff initial) : 300 ms, Backoff factor (Facteur de backoff) : 2 et Maximum number of retries (Nombre maximal de tentatives) : 4 Le connecteur HTTPClient (Client HTTP) effectue une première opération GET sur le serveur (premier appel). Une erreur d'expiration de la connexion est retournée. Le mécanisme de tentatives est activé et le composant attend 300 millisecondes. Une nouvelle tentative est effectuée (première tentative). Une réponse HTTP 503 est retournée. La durée d'attente est multipliée par 2, le composant attend donc 600 millisecondes. Une troisième tentative est effectuée (deuxième tentative). Une réponse HTTP 503 est retournée. La durée d'attente est multipliée par 2, le composant attend donc 1 200 millisecondes. Une quatrième tentative est effectuée (troisième tentative). Elle réussit. Aucune tentative supplémentaire n'est efffectuée et la réponse est retournée. |
Accept redirections | Sélectionnez cette option pour appliquer les règles de redirection HTTP (en anglais) sur vos ressources.
|
Pagination | Sélectionnez cette option pour activer la stratégie de pagination. Pour plus d'informations concernant la stratégie de pagination, consultez la section Pagination de la page JIRA Server platform REST API reference (en anglais). Notez que le pagination est uniquement conforme aux payloads JSON et que les éléments souhaités doivent se trouver dans un tableau dans le payload JSON. Vous devez configurer les options suivantes pour que la pagination fonctionne correctement.
Note InformationsRemarque : L'option Pagination est disponible uniquement si vous avez installé la mise à jour mensuelle 8.0.1-R2023-05 du Studio Talend ou une plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.
|
Normalize the JSON HTTP response (Normaliser la réponse HTTP JSON) | Sélectionnez cette option pour normaliser les incohérences dans les payloads JSON, afin que le composant puisse parser correctement ces documents :
Cette option est disponible lorsque l'option JSON est sélectionnée dans la liste Response body format de la vue Basic settings du composant. |
Ajout de pièces jointes | Sélectionnez cette option pour ajouter ces fichiers en tant que pièces jointes dans une requête multipart. La table Files to upload s'affiche lorsque vous sélectionnez cette option, ce qui vous permet de configurer les paramètres suivants :
L'option Add attachments est disponible lorsque vous sélectionnez l'option Request body et que vous sélectionnez l'option Form data dans la liste déroulante Body type de la vue Basic settings. Note InformationsRemarque : Cette option est disponible uniquement lorsque vous avez installé la mise à jour mensuelle 8.0.1-R2023-05 du Studio Talend ou une mise à jour plus récente fournie par Talend. Pour plus d'informations, contactez votre administrateur ou administratrice.
|
Force JSON numbers to "Double" type in response body | Sélectionnez cette option si vous souhaitez forcer la conversion de tous les nombres JSON en type Double. Il n'est pas toujours possible de faire la différence entre les nombres de type Integer et les nombres de type Double en JSON. Par exemple, un tableau de coordonnées géographiques devant contenir des types Double uniquement peut avoir un de ses éléments de type déduit comme Integer "[47, -1.567075]". Cela peut induire des erreurs, car le connecteur va tenter de générer un tableau de type Integer et d'y inclure un type Double. Forcer le passage de tous les nombres au type Double permet d'éviter ces erreurs. Cette option est disponible uniquement lorsque vous sélectionnez JSON dans la liste déroulante Response body format de la vue Basic settings. |
Die on error | Sélectionnez cette option pour arrêter l'exécution du Job si le code de statut de la réponse n'est pas 2xx. |
Variables globales
Variables globales |
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. NB_LINE : nombre de lignes lues par un composant d'entrée ou passées à un composant de sortie. Cette variable est une variable After et retourne un entier. |
Utilisation
Règle d'utilisation | Ce composant peut être utilisé en composant intermédiaire dans un flux de données ou en composant de fin dans un Job design. |
Limitations | Ce composant ne peut être placé juste après un tRESTRequest. La solution de contournement consiste à placer un composant tMap entre les deux composants afin de copier les données d'entrée dans la sortie. |