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

Les composants tSalesforceOutputBulk et tSalesforceBulkExec sont généralement utilisés ensemble pour générer en sortie le fichier défini et exécuter ensuite les actions souhaitées sur votre fichier, dans votre Salesforce.com. Cette exécution en deux étapes est unifiée dans le composant tSalesforceOutputBulkExec, détaillé dans une section séparée. L'intérêt de proposer deux composants séparés réside dans le fait que cela permet de procéder à des transformations avant le changement des données dans la base de données.

Propriétés du tSalesforceOutputBulk

Famille du composant

Business/Cloud

 

Fonction

Le composant tSalesforceOutputBulk génère des fichiers dans un format approprié au traitement de masse.

Objectif

Ce composant prépare le fichier devant être traité par le tSalesForceBulkExec afin d'exécuter des actions sur Salesforce.com.

Basic settings

File Name

Parcourez le répertoire où stocker les fichiers générés.

 

Append

Cochez cette case afin d'écrire à la suite des données existantes. Sinon, les données seront écrasées.

 

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].

Cliquez sur le bouton Sync columns pour récupérer le schéma du composant précédent.

 Ignore NULL fields values

Cochez cette case pour ignorer les valeurs nulles en mode Update ou Upsert.

Advanced settings Relationship mapping for upsert (pour upsert uniquement)

Cliquez sur le bouton [+] pour ajouter des lignes et spécifiez les champs d'ID externes du flux d'entrée, les champs de relations lookup dans le module d'upsert, le module de lookup ainsi que les champs d'ID externes dans le module de lookup.

De plus, la case Polymorphic doit être cochée uniquement lorsque les champs polymorphiques sont utilisés pour le mapping de relations. Pour plus d'informations concernant les champs polymorphiques, recherchez polymorphic sur http://www.salesforce.com/us/developer/docs/api_asynch/ (en anglais).

Column name of Talend schema : champ d'ID externe dans le flux d'entrée.

Lookup field name : champ de relation lookup dans le module d'upsert.

External id name : champ d'ID externe dans le module de lookup.

Polymorphic : cochez cette case uniquement lorsque les champs polymorphiques sont utilisés pour le mapping de relations.

Module name : nom du module de lookup.

Note

  • Column name of Talend schema fait référence aux champs du schéma du composant précédent le tSalesforceOutput. Ces colonnes sont mises en correspondance par rapport aux champs d'IDs externes spécifiés dans la colonne External id name. Ces champs sont ceux spécifiés dans la colonne Module name du module de lookup.

  • Lookup field name fait référence aux champs de relations lookup du module sélectionné dans la liste Module de la vue Basic settings. Ils servent à établir les relations avec le module de lookup spécifié dans le champ Module name.

  • Pour plus d'informations concernant la définition des champs de relation lookup et comment saisir le bon nom dans le champ Lookup field name, rendez-vous sur le site Web de Salesforce et lancez l'application Salesforce Data Loader.

  • Cochez la case Polymorphic uniquement pour les champs polymorphiques. Vous pouvez obtenir une erreur si vous ne cochez pas cette case pour un champ polymorphique. Vous pouvez également obtenir une erreur si vous la sélectionnez pour un champ qui n'est pas polymorphique.

tStatCatcher Statistics

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

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 utilisé avec le tSalesforceBulkExec. Ils permettent d'optimiser les performances d'alimentation ou de modification des informations sur Salesforce.com.

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).

Limitation

Du fait d'une incompatibilité de licence, un ou plusieurs Jar requis pour utiliser ce composant ne sont pas fournis. Vous pouvez installer les Jar manquants pour ce composant en cliquant sur le bouton Install dans l'onglet Component. Vous pouvez également trouver les Jar manquants et les ajouter dans l'onglet Modules de la perspective Integration de votre studio. Pour plus d'informations, consultez la page https://help.talend.com/display/KB/How+to+install+external+modules+in+the+Talend+products (en anglais) ou la section décrivant comment configurer le studio, dans le Guide d'installation et de migration Talend.

Scénario : Insérer des données de masse transformées dans votre Salesforce.com

Ce scénario décrit un Job à six composants qui transforme des données .csv appropriées à un traitement de masse, les charge dans Salesforce.com et affiche ensuite les résultats de l'exécution du Job dans la console.

Ce Job est réalisé en deux étapes : préparer les données en les transformant, puis traiter les données transformées.

Avant de commencer ce scénario, vous devez préparer le fichier original comprenant les données devant être traitées par le Job. Dans cet exemple d'utilisation, le fichier est sforcebulk.txt, il contient des informations relatives aux clients.

Afin de créer et exécuter ce Job, procédez comme suit :

Configurer le Job

  1. Glissez-déposez de la Palette dans l'espace de modélisation graphique les composants tFileInputDelimited, tMap, tSalesforceOutputBulk, tSalesforceBulkExec et deux tLogRow.

  2. Utilisez un lien Row > Main afin de connecter le tFileInputDelimited au tMap, et le lien Row > out1 du tMap au tSalesforceOutputBulk.

  3. Utilisez un lien Row > Main et un lien Row > Reject pour connecter le tSalesforceBulkExec aux deux tLogRow respectivement.

  4. Utilisez un lien Trigger > OnSubjobOk afin de connecter le composant tFileInputDelimited au tSalesforceBulkExec.

Configurer le composant d'entrée

  1. Double-cliquez sur le tFileInputDelimited afin d'afficher sa vue Component et définir ses propriétés.

  2. Dans la liste Property Type, sélectionnez Repository si vous avez déjà stocké votre connexion Salesforce sous le nœud Metadata dans la vue Repository. Les propriétés sont automatiquement remplies. Si vous n'avez pas défini le serveur de connexion localement dans le Repository, renseignez les informations manuellement, après avoir sélectionné Built-in dans la liste Property Type.

    Pour plus d'informations concernant la création des métadonnées de fichier délimité, consultez le Guide utilisateur du Studio Talend.

  3. A côté du champ File name/Stream, cliquez sur le bouton afin de parcourir votre répertoire jusqu'à votre fichier, dans cet exemple sforcebulk.txt.

  4. Dans la liste Schema, sélectionnez Repository, puis cliquez sur le bouton [...] afin d'ouvrir la boîte de dialogue dans laquelle vous pourrez sélectionner le schéma du Repository à utiliser pour ce composant. Si vous n'avez pas défini localement votre fichier dans les métadonnées, sélectionnez Built-in dans la liste Schema, puis cliquez sur le bouton [...] à côté du champ Edit schema, afin d'ouvrir une boîte de dialogue dans laquelle vous pourrez définir le schéma manuellement. Dans ce scénario, le schéma se compose de quatre colonnes : Name, ParentId, Phone et Fax.

  5. Selon votre fichier d'entrée, paramétrez les autres champs, comme Row Separator, Field Separator.

Configurer le mapping

  1. Double-cliquez sur le composant tMap afin d'ouvrir son éditeur et définir la transformation.

  2. Glissez-déposez toutes les colonnes de la table d'entrée dans la table de sortie.

    Ajoutez .toUpperCase() à la fin de la colonne Name.

  3. Cliquez sur OK afin de valider la transformation.

Définir le chemin de sortie

  1. Double-cliquez sur le tSalesforceOutputBulk afin d'afficher sa vue Component et définir ses propriétés.

  2. Dans le champ File Name, parcourez votre répertoire jusqu'à l'emplacement où vous souhaitez stocker les données .csv générées pour un traitement de masse.

  3. Cliquez sur le bouton Sync columns afin d'importer le schéma du composant précédent.

Configurer la connexion au serveur Salesforce

  1. Double-cliquez sur le tSalesforceBulkExect afin d'afficher sa vue Component et définir ses propriétés.

  2. Utilisez l'URL par défaut du service Web Salesforce, ou saisissez l'URL à laquelle vous souhaitez accéder.

  3. Dans les champs Username et Password, saisissez votre identifiant et votre mot de passe de connexion au service Web.

  4. Dans le champ Bulk file path, parcourez votre répertoire jusqu'à l'emplacement où est stocké le fichier .csv généré par le tSalesforceOutputBulk.

  5. Dans la liste Action, sélectionnez l'action que vous voulez effectuer sur les données de masse. Dans cet exemple, sélectionnez insert.

  6. Dans la liste Module, sélectionnez l'élément auquel vous souhaitez accéder, Account dans cet exemple.

  7. Dans la liste Schema, sélectionnez Repository et cliquez sur le bouton [...] afin d'ouvrir une boîte de dialogue dans laquelle vous pourrez sélectionner le schéma du Repository à utiliser pour ce composant. Si vous n'avez pas défini votre schéma localement dans les métadonnées, sélectionnez Built-in dans la liste Schema, puis cliquez sur le bouton [...] à côté du champ Edit schema, afin d'ouvrir une boîte de dialogue dans laquelle vous pourrez définir votre schéma manuellement. Dans cet exemple, définissez-le comme le schéma précédent.

Configurer le composant de sortie

  1. Double-cliquez sur le tLogRow_1 afin d'afficher sa vue Component et définir ses propriétés.

  2. Cliquez sur le bouton Sync columns afin de récupérer le schéma du composant précédent.

  3. Sélectionnez le mode Table afin d'afficher les résultats d'exécution dans un tableau.

  4. Répétez l'opération avec le tLogRow_2.

Exécuter le Job

  1. Sauvegardez votre Job.

  2. Appuyez sur F6 pour l'exécuter.

    Dans la console de la vue Run, vous pouvez vérifier les résultats d'exécution.

    Dans le tableau du tLogRow_1, vous pouvez lire les données insérées dans votre Salesforce.com.

    Dans le tableau du tLogRow_2, vous pouvez lire les données rejetées à cause d'une incompatibilité avec les éléments Account auxquels vous avez accédé.

    Tous les noms de clients sont écrits en majuscules.