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

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 :