tSalesforceInput - 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 tSalesforceInput

Famille du composant

Business/Cloud

 

Fonction

Le composant tSalesforceInput se connecte à un objet de la base de données Salesforce via le service Web adéquat.

Objectif

Ce composant permet d'extraire les données d'une base de données Salesforce à l'aide d'une requête.

Basic settings

Property type

Peut être Built-in ou Repository.

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

 

 

Built-in : Propriétés utilisées ponctuellement.

 

 

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

 

Cliquez sur cette icône pour ouvrir l'assistant connexion de base de données et enregistrer les paramètres de connexion que vous avez définis dans la vue Basic settings du composant.

Pour plus d'informations sur comment définir et stocker des paramètres de connexion de base de données, consultez le Guide utilisateur du Studio Talend.

 

Use an existing connection

Cochez cette case et sélectionnez le composant de connexion adéquat à partir de la liste Component List pour réutiliser les paramètres d'une connexion que vous avez déjà définie.

Note

Lorsqu'un Job contient un Job parent et un Job enfant, la liste Component List présente uniquement les composants de connexion du Job du même niveau.

 Query mode

Deux options sont disponibles : Query et Bulk Query.

 

Login Type

Deux options sont disponibles :

Basic : sélectionnez cette option afin de vous connecter à Salesforce.com en saisissant vos identifiants (nom d'utilisateur et mot de passe) dans le tSalesforceConnection.

OAuth2 : sélectionnez cette option pour accéder à Salesforce.com en saisissant votre Consumer key/Consumer Secret dans le tSalesforceConnection. Ainsi, vos identifiants ne sont pas visibles dans le tSalesforceConnection, mais un effort supplémentaire est requis :

 

Salesforce Webservice URL

Saisissez l'URL du service Web permettant de se connecter à la base de données Salesforce.

 

Salesforce Version

Saisissez la version de Salesforce que vous utilisez.

 

Username et Password

Saisissez les informations d'authentification de l'utilisateur au service Web.

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.

 

Consumer Key et Consumer Secret

Saisissez les détails de votre authentification OAuth. Ces informations sont disponibles dans la zone OAuth Settings de l'application connectée créée sur le site Salesforce.com.

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

Pour comprendre ce qu'est une application connectée, consultez Connected Apps (en anglais). Pour plus d'informations concernant la création d'une application connectée, consultez Defining Remote Access Applications (en anglais).

 

Callback Host et Callback Port

Saisissez l'URL de votre fonction de rappel pour l'authentification OAuth. Cette URL (contenant l'hôte et le port) est définie durant la création d'une application connectée et apparaît dans la zone OAuth Settings de l'application connectée.

 

Token File

Saisissez le nom du jeton de fichier. Il stocke le jeton de rafraîchissement utiliser pour récupérer le jeton d'accès sans autorisation.

 

Timeout (milliseconds)

Saisissez le délai avant suspension de la requête sur Salesforce.com.

Disponible lorsque l'option Query est sélectionnée dans la liste Query mode.

 

Module

Sélectionnez l'objet adéquat dans la liste.

Custom Object : cette option fait apparaître le champ Costum Module Name dans lequel vous pouvez saisir l'objet auquel vous souhaitez vous connecter.

 

Schema et Edit Schema

Un schéma est une description de lignes, il définit le nombre de champs (colonnes) 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].

Dans ce composant, le schéma est relatif au Module sélectionné.

Avertissement

Pour retrouver une colonne d'un module lié, il est nécessaire de définir la colonne, d'une manière précise, dans la vue Edit Schema, sinon la requête relationnelle ne fonctionnera pas. La syntaxe correcte est : NameofCurrentModule_NameofLinked Module_NameofColumnofInterest.

 

Query condition

Saisissez la requête permettant de sélectionner les données à extraire. Exemple : account_name= 'Talend'

 

Manual input of SOQL query

Cochez cette case pour saisir manuellement la requête Salesforce que vous souhaitez effectuer dans le champ Query.

 

Query all records (include deleted records)

Cochez cette case pour interroger tous les enregistrements, y compris les enregistrements supprimés.

Disponible lorsque l'option Query est sélectionnée dans la liste Query mode.

Advanced settings

Batch Size

Nombre d'enregistrements dans chaque lot récupéré.

Disponible lorsque l'option Query est sélectionnée dans la liste Query mode.

 

Use Socks Proxy

Cochez cette case si vous souhaitez utiliser un proxy. Une fois la case cochée, vous devez saisir les paramètres de connexion dans les champs qui apparaissent, l'hôte, le port, le nom d'utilisateur et le mot de passe du proxy que vous souhaitez utiliser.

 

Normalize delimited (for child relationship)

Caractère, chaîne ou expression régulière utilisé pour normaliser les données collectées à l'aide de requêtes effectuées sur les relations hiérarchiques entre les différents objets Salesforce.

Disponible lorsque l'option Query est sélectionnée dans la liste Query mode.

 

Column name delimiter (for child relationship)

Caractère, chaîne ou expression régulière utilisé pour séparer le nom de l'objet parent du nom de l'objet fils lorsque vous effectuez une requête sur les relations hiérarchiques entre les différents objets Salesforce.

Disponible lorsque l'option Query est sélectionnée dans la liste Query mode.

 

Use Soap Compression

Cochez cette case pour activer la compression SOAP.

Note

La compression des messages SOAP permet un gain de performance, notamment lors des opérations de batch.

 Output Http Trace Message

Cochez cette case pour écrire en sortie le message HTTP Trace.

Disponible lorsque l'option Bulk Query est sélectionnée dans la liste Query mode.

 

tStatCatcher Statistics

Cochez cette case pour collecter les données de log au niveau du composant.

  Client ID

Définissez l'ID de l'utilisateur réel afin de différencier ceux qui utilisent le même compte et le même mot de passe pour accéder au site Web Salesforce.

Disponible lorsque l'option Query est sélectionnée dans la liste Query mode.

Global Variables

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.

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 généralement utilisé en tant que composant de début. Un composant de sortie est nécessaire.

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 : Utiliser des requêtes pour extraire des données d'une base de données Salesforce

Ce scénario décrit un Job comprenant quatre composants, utilisés pour extraire des ensembles spécifiques de données d'objets parents et enfants dans une base de données Salesforce.

Configurer le Job

  1. Déposez deux composants tSalesforceInput et deux tLogRow dans l'espace de modélisation graphique.

  2. Reliez chaque composant tSalesforceInput à un tLogRow, à l'aide de liens Row > Main.

  3. Reliez le tSalesforceInput_1 au tSalesforceInput_2 en utilisant un lien OnSubjobOk.

Configurer la connexion au serveur Salesforce pour l'objet parent

  1. Double-cliquez sur le tSalesforceInput_1 afin de définir ses Basic settings dans la vue Component.

  2. Dans le champ Salesforce WebService URL, saisissez l'URL de la base de données à laquelle vous souhaitez vous connecter.

  3. Renseignez vos informations d'authentification dans les champs correspondants, Username pour l'identifiant et Password pour le mot de passe.

  4. Saisissez la limite de temps que vous souhaitez appliquer à la requête, dans le champ Timeout (milliseconds).

Configurer la requête et le schéma pour l'objet parent

  1. Sélectionnez le Module (objet Salesforce) que vous souhaitez interroger.

  2. Cochez la case Manual input of SOQL Query puis saisir votre requête ou votre requête relationnelle, en respectant la syntaxe SOQL requise, dans le champ Query.

  3. Sélectionnez Built-In dans la liste Schema puis cliquez sur le bouton [...] à côté du champ Edit schema, afin d'ouvrir l'éditeur du schéma.

    Dans cet exemple, les colonnes IsWon et FiscalYear dans la requête sont situées dans le module Opportunity spécifié. La colonne Name est dans un module lié, appelé Account. Pour retourner une colonne d'un module lié, la syntaxe correcte est de saisir le nom du module lié, suivi par le caractère point (.), puis par le nom de la colonne appropriée. Ici, la requête requise est donc :

    "SELECT IsWon, FiscalYear, Account.Name FROM Opportunity".

  4. Ajoutez une nouvelle colonne pour les champs extraits de la colonne Name du module Account.

  5. Appelez cette colonne Opportunity_Account_Name puis cliquez sur OK afin de sauvegarder les modifications et fermer l'éditeur du schéma. .

Avertissement

Pour retrouver une colonne d'un modèle lié, il est nécessaire de définir la colonne d'une manière précise dans la vue Edit Schema. La syntaxe correcte est : NameofCurrentModule_NameofLinkedModule_NameofColumnofInterest. Dans notre exemple, la colonne doit se nommer : Opportunity_Account_Name. Si cette syntaxe n'est pas respectée, les données de la table liée ne seront pas retournées.

Configurer la connexion au serveur Salesforce pour l'objet fils

  1. Double-cliquez sur le tSalesforceInput_2 afin de définir ses Basic settings dans la vue Component.

  2. Dans le champ Salesforce WebService URL, saisissez l'URL de la base de données à laquelle vous souhaitez vous connecter.

  3. Saisissez vos informations d'authentification dans les champs Username pour l'identifiant et Password pour le mot de passe.

  4. Saisissez la limite de temps que vous souhaitez appliquer sur la requête, dans le champ Timeout (milliseconds).

Configurer la requête et le schéma pour l'objet fils

  1. Sélectionnez le Module (objet Salesforce) que vous souhaitez interroger.

  2. Cochez la case Manual input of SOQL Query puis saisir votre requête ou votre requête relationnelle, en respectant la syntaxe SOQL requise, dans le champ Query.

    Dans cet exemple, l'objectif est d'extraire les champs Id et CaseNumber du module Case, ainsi que les champs Name du module Account. La requête est donc : "SELECT Id, CaseNumber, Account.Name FROM Case".

  3. Sélectionnez Built-In dans la liste Schema et cliquez sur le bouton [...] à côté du champ Edit schema, afin d'ouvrir l'éditeur du schéma.

  4. Ajoutez une nouvelle colonne pour les champs extraits de la colonne Name du module Account.

  5. Nommez cette colonne Case_Account_Name puis cliquez sur OK pour sauvegarder les modifications et fermer l'éditeur du schéma.

Exécuter le Job

  1. Cliquez sur chaque composant tLogRow afin de définir les Basic settings comme nécessaire.

    Dans cet exemple, vous n'avez pas besoin de modifier les paramètres des tLogRow.

  2. Enregistrez le Job et appuyez sur F6 pour l'exécuter.

    Les résultats sont affichés dans la console de la vue Run :