SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Automatiser des imports/exports via Salesforce et le DataLoader
1
Fabien Huot
Automatiser des imports/exports via Salesforce et le DataLoader
Table des matières
Prérequis .........................................................................................................................................................2
1. Contexte..............................................................................................................................................2
2. Télécharger & utiliser le Data Loader..................................................................................................2
a. Prérequis pour utiliser le Data Loader.............................................................................................2
b. Prérequis pour le téléchargement du Data Loader.........................................................................3
3. Récupérer ses identifiants Salesforce..................................................................................................3
a. Mot de passe SalesForce.................................................................................................................3
b. Token de sécurité............................................................................................................................3
Configurer son Data Loader.............................................................................................................................3
1. Configuration ......................................................................................................................................3
a. Prérequis.........................................................................................................................................3
b. Encodage des fichiers entrant.........................................................................................................4
c. Encodage des fichiers sortant.........................................................................................................5
d. Choisir son délimiteur.....................................................................................................................5
Crypter son mot de passe SalesForce..............................................................................................................6
1. Définition ............................................................................................................................................6
2. Crypter son mot de passe ...................................................................................................................6
a. Création du fichier « key.txt ».........................................................................................................6
b. Générer la clé..................................................................................................................................6
c. Création du mot de passe crypté....................................................................................................7
Process-conf.xml..............................................................................................................................................7
1. Définition générale..............................................................................................................................7
2. Définition de chaque « entry »............................................................................................................7
3. Fichier de « mapping »........................................................................................................................9
4. Exemple de création d’un processus d’extraction.............................................................................10
Créer un script batch .....................................................................................................................................11
1. Créer un script...................................................................................................................................11
2. Appeler un processus du Data Loader...............................................................................................11
Créer une tâche automatique sur Windows..................................................................................................12
1. Contexte............................................................................................................................................12
2. Création d’une tâche basique ...........................................................................................................12
1. Nom de la tache & Description .....................................................................................................13
2. Déclencheur..................................................................................................................................13
Automatiser des imports/exports via Salesforce et le DataLoader
2
Fabien Huot
3. Action............................................................................................................................................14
Prérequis
1. Contexte
Dans le cadre d’une intégration d’interfaces entre deux systèmes, vous souhaitez mettre en place des
exports et des imports de fichiers de manière automatique.
Ce document vous explique comment mettre en place des importations et/ou des exportations de données
au format .csv.
Il est nécessaire de suivre l’intégralité du document afin d’avoir des flux automatisés, optimisés et
développés dans les règles de l’art.
Ce qu’il faut savoir sur le Data Loader :
- Possibilités de créer des opérations batchs automatisées (Seulement pour Windows)
- Supporte des fichiers de grandes tailles (jusqu’à 5 millions d’enregistrements).
- Drag-and-drop (Glissez-déposez) pour le « mapping » de vos champs
- Supporte tous les types d’objets SalesForce (Standards et personnalisés)
- Génération de fichiers de log (success / errors) au format .csv
- Supporté par les systèmes Windows et Mac
2. Télécharger & utiliser le Data Loader
a. Prérequis pour utiliser le Data Loader
Pour utiliser le Data Loader, vérifiez que tous les droits nécessaires pour l’utilisation du Data Loader vous
sont attribués.
Pour ceci, rendez-vous sur le profil du compte avec lequel vous allez vous connecter au Data Loader.
Permissions requises
Pour accéder à la page de téléchargement du
Dataloader :
« Modify All Data »
Pour utiliser le Data Loader : « API Enabled »
ET
La permission adéquat pour l’opération que vous
allez effectuer, par exemple
« Create » sur les Comptes si vous souhaitez créer
de nouveaux comptes
ET
« Bulk API Hard Delete » (Si seulement vous
configurez le Data Loader pour utiliser le Bulk API
pour hard-delete les enregistrements)
Automatiser des imports/exports via Salesforce et le DataLoader
3
Fabien Huot
b. Prérequis pour le téléchargement du Data Loader
Pour utiliser le Data Loader sur Windows, vous avez besoin de :
- Microsoft Windows 7, Windows 8, Windows 10
- 120MB d’espace libre sur votre disque dur
- 256MB de mémoire vive (RAM)
- Java JRE 1.8 (32-bit)
3. Récupérer ses identifiants Salesforce
a. Mot de passe SalesForce
Pour utiliser le Data Loader, vous devez vous munir de votre mot de passe personnel. C’est le mot de passe
que vous utilisez tous les jours pour vous connecter sur votre organisation.
b. Token de sécurité
Le token de sécurité vous est fourni par Salesforce à la création de votre compte.
Si vous n’avez plus votre token de sécurité, vous pouvez le réinitialiser via votre profile personnel :
- Dans vos paramètres personnels, entrez « Reset My Security Token » dans la « Quick Find Box »
- Cliquez sur « Reset Security Token », le nouveau token vous sera envoyé par e-mail avec l’adresse
renseigné dans vos paramètres personnels.
Configurer son Data Loader
1. Configuration
a. Prérequis
Lancez votre Data Loader. Cette fenêtre s’affiche à l’écran :
Automatiser des imports/exports via Salesforce et le DataLoader
4
Fabien Huot
Dans ce menu vous trouverez toutes les actions possibles avec votre Data Loader :
Insert : Insérer de nouveaux enregistrements
Update : Mettre à jour des enregistrements existants
Upsert : Mettre à jour des enregistrements existants ET SI des enregistrements n’existe pas, alors le Data
Loader va les créer. Grosso-modo, c’est une combinaison entre l’Insert et l’Update.
Delete : Supprimer des enregistrements (Néanmoins, ils resteront quelques temps dans la Corbeille de
votre organisation SalesForce).
Hard Delete : Supprimer définitivement des enregistrements (Attention : Vous ne pourrez même plus
récupérer vos enregistrements depuis la Corbeille).
Export : Permets d’exporter des données d’un objet en particulier (exemple : Exporter une liste de
comptes)
Export All : Permets d’exporter l’ensemble des enregistrements de votre organisation SalesForce.
Maintenant que nous connaissons l’ensemble des actions disponibles du Data Loader, nous allons
configurer l’essentiel du Data Loader.
b. Encodage des fichiers entrant
Par défaut, SalesForce utilise le format UTF-8. Nous vous conseillons d’utiliser l’UTF-8 pour rester dans le
Standard SalesForce.
Néanmoins, vous pouvez modifier cette option. Pour ceci, rendez-vous dans l’onglet « Settings » et cliquez
sur « Settings ».
Une fenêtre comme l’image ci-dessous devrait apparaitre :
Automatiser des imports/exports via Salesforce et le DataLoader
5
Fabien Huot
Par défaut, l’option « Read all CSVs with UTF-8 encoding » est activée. Si les fichiers entrants sont d’un autre
type d’encodage que l’encodage UTF-8, alors décochez cette case.
Attention : Il se peut que lorsque vous chargez des données, des signes étranges apparaissent à la place des
accents. Si tel est le cas, c’est que le fichier a été lu dans un encodage différent que celui défini par défaut.
c. Encodage des fichiers sortant
Par défaut, l’option « Write all CSVs with UTF-8 encoding » est activée. Cette option vous permet de
générer tous vos fichiers sortant avec un encodage de type UTF-8. Si vous souhaitez ne pas définir
d’encodage par défaut, alors, décochez cette case.
d. Choisir son délimiteur
Par définition, le format .csv est un simple fichier texte dans lequel les valeurs sont séparées par une
virgule, ce qui permet de sauvegarder les données dans un format de tableur.
Automatiser des imports/exports via Salesforce et le DataLoader
6
Fabien Huot
Néanmoins, certains outils remplacent les virgules, par des points-virgules,
Lorsque vous allez lire des fichiers .csv pour importer/mettre à jour de nouveaux enregistrements, vous
devez définir le délimiteur adéquat, pour une bonne lecture
Crypter son mot de passe SalesForce
1. Définition
Pour effectuer des appels à l’API, vous devez vous munir de votre mot de passe ainsi que de votre jeton de
sécurité.
Votre jeton de sécurité est une clé générée automatiquement qui est utilisée en combinaison avec votre mot
de passe pour entrer dans SalesForce à partir d'un réseau non approuvé ou se connecter à une application
tierce. Le jeton est requis si vous vous connectez à l'application via API ou un client de bureau. Quelques
exemples d'applications tierces sont: Salesforce for Outlook, Apex Data Loader, Word Mail Merge, Excel
Connector, etc.
Pour augmenter la sécurité au niveau des appels, nous devons cryptés notre mot de passe.
2. Crypter son mot de passe
Pour crypter son mot de passe rendez-vous dans le dossier /bin du DataLoader
a. Création du fichier « key.txt »
Nous allons générer une clé qui cryptera notre mot de passe. Pour cela, il vous faut créer un fichier texte
(Clique-droit > Nouveau Fichier > Document Texte).
Ce fichier peut être nommé différemment
Dans notre exemple, nous allons créer un fichier texte nommé : « key.txt »
b. Générer la clé
Dans les dossiers du Data Loader, dans le dossier /bin, vous trouverez 2 exécutables :
- Encrypt.bat : Exécutable permettant de générer une clé de cryptage et de crypter votre mot de
passe
- Process.bat : C’est l’exécutable qui lancera nos processus Data Loader
Ouvrir l’invite de commande Windows et rendez-vous dans le dossier où se trouve l’exécutable
« encrypt.bat ».
Automatiser des imports/exports via Salesforce et le DataLoader
7
Fabien Huot
Récupérer la clé qui a été généré. Dans notre exemple : « 5ed10e02e4a9f084 »
Copier-Coller cette clé dans le fichier “Key.txt” que vous avez créé précédemment.
c. Création du mot de passe crypté
Pour créer votre mot de passe crypté, vous devez ouvrir l’invite de commande Windows et tapez :
encrypt.bat -e <MotdePasseDeVotreOrganisation> <Chemin vers votre fichier Key.txt>
Au niveau de votre mot de passe vous devez concaténer
Process-conf.xml
1. Définition générale
Le fichier process-conf.xml est un fichier de configuration qui permets la déclaration de toutes les actions
qui seront mises en place pour automatiser les processus. Chaque action 'Extract', 'Insert', 'Upsert', 'Delete'
doivent avoir des sections différentes dans le fichier process-conf.xml. Ce fichier doit être placé dans un
dossier situé dans le dossier du Data Loader, par exemple :
C:Program Filessalesforce.comApex Data Loader 9.0conf
Si vous ouvrez le fichier xml, vous pouvez voir différentes sections (qui correspondent à différents
processus) séparées par le tag <bean>. Il n'y a pas de limitation quant au nombre de processus dans
chaque fichier XML.
Soyez vigilant lors de l'utilisation de vos éditeurs de fichier XML quand vous éditez le fichier
process-conf.xml. Certains éditeurs XML vont créer des tags XML au début et à la fin de votre
fichier (par exemple : <xml></xml>), ce qui va causer la non-éxécution de vos processus sans
vous expliquer pourquoi.
2. Définition de chaque « entry »
Paramètres Descriptions
<bean id="PROCESSNAME" class="xxx" singleton="false"> La première ligne définie le processus dans le fichier XML.
Le nom du processus doit être unique et va être utilisé
pour appeler le processus. Changez le PROCESSNAME et
laissez les autres champs par défaut.
Automatiser des imports/exports via Salesforce et le DataLoader
8
Fabien Huot
<description>ENTER YOUR DESCRIPTION HERE</description> Description du processus. Vous pouvez entrer une
description du processus que vous mettez en place
<property name="name" value="PROCESSNAME"/> Habituellement, je copie le PROCESSNAME et je le place
dans ce paramètre. Ce paramètre est utilisé dans les
fichiers de log lors des affichages de messages d'erreurs.
<property name="configOverrideMap"> <map> Ces deux lignes initient les paramètres pour le processus.
Ces deux lignes ne doivent pas être changés et doivent
être toujours les mêmes.
<entry key="sfdc.debugMessages" value="false"/> Mettre “True” si vous voulez des messages de debug
détaillés qui apparaîtront dans les lignes de commandes
<entry key="sfdc.debugMessagesFile"
value="c:dataloadersamplesstatusaccountMasterSoapTrace.log"/>
Renseignez la valeur d'un fichier de log qui permettra de
stocker les messages de log lors de l’exécution de vos
processus
Ceci peut créer un fichier extrêmement lourd. Soyez sur que vous avez assez d'espace sur
votre disque dur avant de mettre en place ce paramètre.
Paramètres Descriptions
<entry key="sfdc.endpoint" value="https://www.salesforce.com"/> Laissez par défaut, sauf si vous vous connectez depuis
une sandbox
<entry key="sfdc.username" value="rcua@06winter690.com" /> Mettre le nom d'utilisateur avec lequel vous ferez les
importations
<entry key="sfdc.password" value="b6b3016135f717754590a3e35b1db32b" />
<entry key="process.encryptionKeyFile" value="C:Program
Filessalesforce.comApex Data Loader 9.0testKey.txt" />
Voir la section à propos de “Mot de passe crypté” dans ce
document
<entry key="sfdc.timeoutSecs" value="600"/> Valeur du système “time out”
<entry key="sfdc.loadBatchSize" value="200"/> Valeur de la taille du batch. Mettez une valeur plus
grande si et seulement si votre connection internet est
très bonne
<entry key="process.operation" value="extract" /> Permets de renseigner le type de processus qui va être
exécuté. Valeurs possibles : Extract/Insert/Delete/Upsert
<entry key="sfdc.entity" value="Account"/> Permets de renseigner sur quel object le processus va
être exécuté. Vous devez renseigner le nom d'API de
l'objet quand vous utilisez des objets personnalisés
<entry key="sfdc.extractionRequestSize" value="500"/> Taille du batch pour l'extraction uniquement
<entry key="sfdc.extractionSOQL" value="Select Id, MasterRecordId, Name, Type
FROM Account " />
C'est la requête SOQL pour exécuter l'extraction (Vous
pouvez utiliser l'interface du Data Loader pour générer la
requête SOQL)
<entry key="dataAccess.type" value="csvWrite" /> Désigne l'action qui va être déclenché lors du processus
d'Extraction, d'Insertion, de Suppression, et d'Upsert.
Valeurs possible : csvRead, csvWrite, databaseRead,
databaseWrite
Quand vous voulez faire une extraction, utilisez : csvWrite Pour une
Suppression, une Insertion ou un Upsert, utilisez le paramètre : csvRead
<entry key="dataAccess.writeUTF8" value="true" /> Quand vous utilisez “csvWrite”, parametrez la valeur à
“true” afin de pouvoir exporter votre csv en UTF-8
<entry key="dataAccess.readUTF8" value="true" /> S'utilise lorsque l'on veut lire notre CSV à importer au
format UTF8
<entry key="dataAccess.name" value="C:Program Filessalesforce.comApex Data
Loader 9.0test extract.csv" />
Désigne la localisation et le nom du fichier qui va servir
pour afficher la donnée lors d'un export, ou du fichier qui
va être lu lors d'une Importation, d'une Suppression ou
d'un Upsert
Automatiser des imports/exports via Salesforce et le DataLoader
9
Fabien Huot
<entry key="process.mappingFile" value="C:Program Filessalesforce.comApex
Data Loader 9.0test upsert_mapping.sdl"/>
Désigne la location du fichier de mapping du Data Loader.
Ce fichier est obligatoire lors d'une Insertion, d'une
Suppression ou d'un Upsert
<entry key="sfdc.externalIdField" value="Customer_ID__c"/> Désigne l'External ID utilisé pour le processus d'Upsert.
Ce paramètre est obligatoire lors d'un Upsert
<entry key="process.statusOutputDirectory" value="C:Program
Filessalesforce.comApex Data Loader 9.0testlogs" />
Définit le dossier où les fichiers de succès ou d'erreur du
Data Loader seront générés
<entry key="process.outputSuccess" value="C:Program Filessalesforce.comApex
Data Loader 9.0testLogscsvUpsertProcess_success.csv" /> <entry
key="process.outputError" value="C:Program Filessalesforce.comApex Data
Loader 9.0testLogscsvUpsertProcess_error.csv" />
Désigne le dossier et les noms de fichiers ou les fichiers
de succès et d'erreurs des processus seront générés. Si
cette valeur n'est pas spécifiée, la valeur du
“process.statusOutputDirectory” contiendra les mêmes
noms que ceux générés par l'interface du Data Loader
3. Fichier de « mapping »
Le fichier de « mapping » est un fichier qui permet de faire le lien entre les champs de Salesforce et les
champs de destinations (nom de colonnes dans le fichier .csv généré) ou inversement, entre les noms de
colonnes dans le fichier .csv et les champs de SalesForce.
Un fichier de mapping est un fichier dont l’extension est .sdl.
Les champs situés à gauche, sont les champs « source ». Les champs situés à droite sont les champs de
destination.
Pour un export le fichier de mapping ressemble à : (Champ SalesForce = Champ dans le fichier Excel)
Dans notre exemple d’export de comptes, voici à quoi peut ressembler le fichier de mapping
correspondant :
Si nous avions voulu faire un import de données. Le fichier de mapping serait « inversé ». C’est-à-dire, que
les champs « source » sont les noms de colonnes de votre fichier .csv, et le champ situés à droite sont les
champs SalesForce. Ainsi, on aurait :
Automatiser des imports/exports via Salesforce et le DataLoader
10
Fabien Huot
4. Exemple de création d’un processus d’extraction
Ci-dessous, un exemple d’un processus d’extraction.
<bean id="databaseAccountExtractProcess"
class="com.salesforce.dataloader.process.ProcessRunner"
singleton="false">
<description>DatabaseAccountExtract job gets account info from salesforce and updates or inserts info into
database."</description>
<property name="name" value="databaseAccountExtract"/>
<property name="configOverrideMap">
<map>
<entry key="sfdc.debugMessages" value="false"/>
<entry key="sfdc.debugMessagesFile" value="c:dataloadersamplesstatussfdcSoapTrace.log"/>
<entry key="sfdc.endpoint" value="https://login.salesforce.com"/>
<entry key="sfdc.username" value="user@mycompany.com"/>
<!-- password specified below is invalid, please generate one using the encrypt.bat utility -->
<entry key="sfdc.password" value="1111111111111111"/>
<entry key="sfdc.timeoutSecs" value="600"/>
<entry key="sfdc.loadBatchSize" value="200"/>
<entry key="sfdc.entity" value="Account"/>
<entry key="sfdc.extractionRequestSize" value="500"/>
<entry key="sfdc.extractionSOQL" value="Select Id, Name, Type, ParentId, Phone, AccountNumber,
Website, Sic, AnnualRevenue, NumberOfEmployees, TickerSymbol, Oracle_Id__c FROM Account"/>
<entry key="process.operation" value="extract"/>
<entry key="process.mappingFile" value="c:dataloadersamplesconfaccountExtractToDbMap.sdl"/>
<entry key="dataAccess.type" value="databaseWrite"/>
<entry key="dataAccess.name" value="updateAccount"/>
</map>
</property>
</bean>
Il ne faut pas oublier de renseigner le mot de passe qui a été généré
Automatiser des imports/exports via Salesforce et le DataLoader
11
Fabien Huot
Créer un script batch
1. Créer un script
Le script batch sera notre exécutable. C’est ce script qui sera exécuté par notre « Planificateur de
Tâche Windows ». Dans un premier temps, nous allons créer le fichier, et ensuite développer le script batch
pour appeler notre processus d’extraction du Data Loader.
Pour créer un « batch script », il vous suffit de créer un nouveau document de l’enregistrer avec le suffixe
« .bat », comme l’image ci-dessous :
Maintenant que nous avons notre fichier .bat (notre exécutable), nous allons renseigner la ligne de code
pour appeler notre processus Data Loader
2. Appeler un processus du Data Loader
Dans votre fichier .bat récemment créé, renseigner une ligne de commande comme celle ci-dessous :
Description de la ligne de commande :
- call : Commande windows permettant d’exécuter un .bat
- process : l’exécutable « process.bat » se situant dans le dossier /bin du Data Loader
- « C:Program Files (x86)salesforce.comData Loadersamplesconf : Dossier contenant le fichier
process-conf.xml
- databaseAccountExtractProcess : Identifiant du processus (notre bean dans le fichier process-
conf.xml)
Automatiser des imports/exports via Salesforce et le DataLoader
12
Fabien Huot
Sauvegarder votre fichier, et testez-le. Pour le tester, il vous suffit de double-cliquer sur l’exécutable.
La prochaine étape consiste à créer une tâche automatisée, qui exécutera notre export de manière
automatique.
Créer une tâche automatique sur Windows
1. Contexte
Maintenant que notre exécutable est créer et que l’export fonctionne, nous allons créer notre tâche
Windows, afin que l’extraction se fasse de manière automatique tous les jours à 9 heures du matin.
2. Création d’une tâche basique
Ouvrez votre « Planificateur de tâches ».
Dans le menu de droite, cliquez sur « Créer une tâche de base… » (Comme l’image ci-dessous) :
Automatiser des imports/exports via Salesforce et le DataLoader
13
Fabien Huot
1. Nom de la tache & Description
Renseignez un nom de tâche et une description (optionnelle) :
Cliquez sur « Suivant »
2. Déclencheur
Nous allons ensuite définir à quelle fréquence la tâche sera exécutée. Dans notre exemple, nous
souhaitons qu’elle soit déclenchée tous les jours. Dans ce cas, nous sélectionnons l’option « Tous les
jours » (voir l’imagine ci-dessous)
Automatiser des imports/exports via Salesforce et le DataLoader
14
Fabien Huot
Cliquez sur « Suivant »
Ensuite, l’assistant nous propose de sélectionner une date ainsi qu’une heure de début.
Cliquez sur « Suivant »
3. Action
Sélectionnez une action. Dans notre exemple, nous allons exécuter un script (le .bat que nous avons créé
précédemment)
Automatiser des imports/exports via Salesforce et le DataLoader
15
Fabien Huot
Cliquez sur « Suivant »
Dans l’étape suivante, nous allons affecter notre script à cette tâche. Pour cela, cliquez sur Parcourir et
sélectionnez votre .bat
Afin d’éviter des erreurs au lancement du script. Il est nécessaire d’indiquer le
dossier dans lequel se trouve le script dans la case « Commancer dans ». Même
si ce champ est dit « Facultatif » vous devez le renseigner pour éviter toutes
erreurs
Cliquez sur « Suivant »
Un récapitulatif de votre tâche est affiché à l’écran.
Cliquez sur « Terminer »
Votre tâche est désormais créée. L’export de vos contacts s’effectuera tous les jours à 9 heures.

Más contenido relacionado

Similar a Automatisation d'import export salesforce data loader & Salesforce CLI

Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-onsahar dridi
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008Abdelouahed Abdou
 
Sql Loader
Sql LoaderSql Loader
Sql Loaderreda
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPressChi Nacim
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesEDB
 
1 installation-exchange
1 installation-exchange1 installation-exchange
1 installation-exchangeloucif abidi
 
Dévelopement extensions WordPress
Dévelopement extensions WordPressDévelopement extensions WordPress
Dévelopement extensions WordPressIZZA Samir
 
Photoshop cs4 lisez-moi
Photoshop cs4   lisez-moiPhotoshop cs4   lisez-moi
Photoshop cs4 lisez-moiCamaralon
 
Photoshop Cs4 — Lisez Moi -imarah.net-
Photoshop Cs4 — Lisez Moi -imarah.net-Photoshop Cs4 — Lisez Moi -imarah.net-
Photoshop Cs4 — Lisez Moi -imarah.net-guest07571d
 
Ado.net base de données
Ado.net   base de donnéesAdo.net   base de données
Ado.net base de donnéesNosnos Nisrine
 
Photoshop CS5 Lisez-moi.docx
Photoshop CS5 Lisez-moi.docxPhotoshop CS5 Lisez-moi.docx
Photoshop CS5 Lisez-moi.docxhaucoco
 
Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020Wiiisdom
 
Administrer Salesforce
Administrer SalesforceAdministrer Salesforce
Administrer SalesforceAxel KAMALAK
 

Similar a Automatisation d'import export salesforce data loader & Salesforce CLI (20)

Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
 
Sécuriser son site wordpress
Sécuriser son site wordpressSécuriser son site wordpress
Sécuriser son site wordpress
 
Oracle fr
Oracle frOracle fr
Oracle fr
 
Sql Loader
Sql LoaderSql Loader
Sql Loader
 
Développement d’extensions WordPress
Développement d’extensions WordPressDéveloppement d’extensions WordPress
Développement d’extensions WordPress
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos données
 
Etl -
Etl -Etl -
Etl -
 
Procedure ocs et glpi
Procedure ocs et glpiProcedure ocs et glpi
Procedure ocs et glpi
 
1 installation-exchange
1 installation-exchange1 installation-exchange
1 installation-exchange
 
Dévelopement extensions WordPress
Dévelopement extensions WordPressDévelopement extensions WordPress
Dévelopement extensions WordPress
 
Photoshop cs4 lisez-moi
Photoshop cs4   lisez-moiPhotoshop cs4   lisez-moi
Photoshop cs4 lisez-moi
 
Photoshop cs4 lisez-moi
Photoshop cs4   lisez-moiPhotoshop cs4   lisez-moi
Photoshop cs4 lisez-moi
 
Photoshop Cs4 — Lisez Moi -imarah.net-
Photoshop Cs4 — Lisez Moi -imarah.net-Photoshop Cs4 — Lisez Moi -imarah.net-
Photoshop Cs4 — Lisez Moi -imarah.net-
 
Masteurisation
MasteurisationMasteurisation
Masteurisation
 
Ado.net base de données
Ado.net   base de donnéesAdo.net   base de données
Ado.net base de données
 
Photoshop CS5 Lisez-moi.docx
Photoshop CS5 Lisez-moi.docxPhotoshop CS5 Lisez-moi.docx
Photoshop CS5 Lisez-moi.docx
 
Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020Decouvrez Les Dernieres Innovations Tableau 2020
Decouvrez Les Dernieres Innovations Tableau 2020
 
Pydio_Apache
Pydio_ApachePydio_Apache
Pydio_Apache
 
Administrer Salesforce
Administrer SalesforceAdministrer Salesforce
Administrer Salesforce
 

Automatisation d'import export salesforce data loader & Salesforce CLI

  • 1. Automatiser des imports/exports via Salesforce et le DataLoader 1 Fabien Huot Automatiser des imports/exports via Salesforce et le DataLoader Table des matières Prérequis .........................................................................................................................................................2 1. Contexte..............................................................................................................................................2 2. Télécharger & utiliser le Data Loader..................................................................................................2 a. Prérequis pour utiliser le Data Loader.............................................................................................2 b. Prérequis pour le téléchargement du Data Loader.........................................................................3 3. Récupérer ses identifiants Salesforce..................................................................................................3 a. Mot de passe SalesForce.................................................................................................................3 b. Token de sécurité............................................................................................................................3 Configurer son Data Loader.............................................................................................................................3 1. Configuration ......................................................................................................................................3 a. Prérequis.........................................................................................................................................3 b. Encodage des fichiers entrant.........................................................................................................4 c. Encodage des fichiers sortant.........................................................................................................5 d. Choisir son délimiteur.....................................................................................................................5 Crypter son mot de passe SalesForce..............................................................................................................6 1. Définition ............................................................................................................................................6 2. Crypter son mot de passe ...................................................................................................................6 a. Création du fichier « key.txt ».........................................................................................................6 b. Générer la clé..................................................................................................................................6 c. Création du mot de passe crypté....................................................................................................7 Process-conf.xml..............................................................................................................................................7 1. Définition générale..............................................................................................................................7 2. Définition de chaque « entry »............................................................................................................7 3. Fichier de « mapping »........................................................................................................................9 4. Exemple de création d’un processus d’extraction.............................................................................10 Créer un script batch .....................................................................................................................................11 1. Créer un script...................................................................................................................................11 2. Appeler un processus du Data Loader...............................................................................................11 Créer une tâche automatique sur Windows..................................................................................................12 1. Contexte............................................................................................................................................12 2. Création d’une tâche basique ...........................................................................................................12 1. Nom de la tache & Description .....................................................................................................13 2. Déclencheur..................................................................................................................................13
  • 2. Automatiser des imports/exports via Salesforce et le DataLoader 2 Fabien Huot 3. Action............................................................................................................................................14 Prérequis 1. Contexte Dans le cadre d’une intégration d’interfaces entre deux systèmes, vous souhaitez mettre en place des exports et des imports de fichiers de manière automatique. Ce document vous explique comment mettre en place des importations et/ou des exportations de données au format .csv. Il est nécessaire de suivre l’intégralité du document afin d’avoir des flux automatisés, optimisés et développés dans les règles de l’art. Ce qu’il faut savoir sur le Data Loader : - Possibilités de créer des opérations batchs automatisées (Seulement pour Windows) - Supporte des fichiers de grandes tailles (jusqu’à 5 millions d’enregistrements). - Drag-and-drop (Glissez-déposez) pour le « mapping » de vos champs - Supporte tous les types d’objets SalesForce (Standards et personnalisés) - Génération de fichiers de log (success / errors) au format .csv - Supporté par les systèmes Windows et Mac 2. Télécharger & utiliser le Data Loader a. Prérequis pour utiliser le Data Loader Pour utiliser le Data Loader, vérifiez que tous les droits nécessaires pour l’utilisation du Data Loader vous sont attribués. Pour ceci, rendez-vous sur le profil du compte avec lequel vous allez vous connecter au Data Loader. Permissions requises Pour accéder à la page de téléchargement du Dataloader : « Modify All Data » Pour utiliser le Data Loader : « API Enabled » ET La permission adéquat pour l’opération que vous allez effectuer, par exemple « Create » sur les Comptes si vous souhaitez créer de nouveaux comptes ET « Bulk API Hard Delete » (Si seulement vous configurez le Data Loader pour utiliser le Bulk API pour hard-delete les enregistrements)
  • 3. Automatiser des imports/exports via Salesforce et le DataLoader 3 Fabien Huot b. Prérequis pour le téléchargement du Data Loader Pour utiliser le Data Loader sur Windows, vous avez besoin de : - Microsoft Windows 7, Windows 8, Windows 10 - 120MB d’espace libre sur votre disque dur - 256MB de mémoire vive (RAM) - Java JRE 1.8 (32-bit) 3. Récupérer ses identifiants Salesforce a. Mot de passe SalesForce Pour utiliser le Data Loader, vous devez vous munir de votre mot de passe personnel. C’est le mot de passe que vous utilisez tous les jours pour vous connecter sur votre organisation. b. Token de sécurité Le token de sécurité vous est fourni par Salesforce à la création de votre compte. Si vous n’avez plus votre token de sécurité, vous pouvez le réinitialiser via votre profile personnel : - Dans vos paramètres personnels, entrez « Reset My Security Token » dans la « Quick Find Box » - Cliquez sur « Reset Security Token », le nouveau token vous sera envoyé par e-mail avec l’adresse renseigné dans vos paramètres personnels. Configurer son Data Loader 1. Configuration a. Prérequis Lancez votre Data Loader. Cette fenêtre s’affiche à l’écran :
  • 4. Automatiser des imports/exports via Salesforce et le DataLoader 4 Fabien Huot Dans ce menu vous trouverez toutes les actions possibles avec votre Data Loader : Insert : Insérer de nouveaux enregistrements Update : Mettre à jour des enregistrements existants Upsert : Mettre à jour des enregistrements existants ET SI des enregistrements n’existe pas, alors le Data Loader va les créer. Grosso-modo, c’est une combinaison entre l’Insert et l’Update. Delete : Supprimer des enregistrements (Néanmoins, ils resteront quelques temps dans la Corbeille de votre organisation SalesForce). Hard Delete : Supprimer définitivement des enregistrements (Attention : Vous ne pourrez même plus récupérer vos enregistrements depuis la Corbeille). Export : Permets d’exporter des données d’un objet en particulier (exemple : Exporter une liste de comptes) Export All : Permets d’exporter l’ensemble des enregistrements de votre organisation SalesForce. Maintenant que nous connaissons l’ensemble des actions disponibles du Data Loader, nous allons configurer l’essentiel du Data Loader. b. Encodage des fichiers entrant Par défaut, SalesForce utilise le format UTF-8. Nous vous conseillons d’utiliser l’UTF-8 pour rester dans le Standard SalesForce. Néanmoins, vous pouvez modifier cette option. Pour ceci, rendez-vous dans l’onglet « Settings » et cliquez sur « Settings ». Une fenêtre comme l’image ci-dessous devrait apparaitre :
  • 5. Automatiser des imports/exports via Salesforce et le DataLoader 5 Fabien Huot Par défaut, l’option « Read all CSVs with UTF-8 encoding » est activée. Si les fichiers entrants sont d’un autre type d’encodage que l’encodage UTF-8, alors décochez cette case. Attention : Il se peut que lorsque vous chargez des données, des signes étranges apparaissent à la place des accents. Si tel est le cas, c’est que le fichier a été lu dans un encodage différent que celui défini par défaut. c. Encodage des fichiers sortant Par défaut, l’option « Write all CSVs with UTF-8 encoding » est activée. Cette option vous permet de générer tous vos fichiers sortant avec un encodage de type UTF-8. Si vous souhaitez ne pas définir d’encodage par défaut, alors, décochez cette case. d. Choisir son délimiteur Par définition, le format .csv est un simple fichier texte dans lequel les valeurs sont séparées par une virgule, ce qui permet de sauvegarder les données dans un format de tableur.
  • 6. Automatiser des imports/exports via Salesforce et le DataLoader 6 Fabien Huot Néanmoins, certains outils remplacent les virgules, par des points-virgules, Lorsque vous allez lire des fichiers .csv pour importer/mettre à jour de nouveaux enregistrements, vous devez définir le délimiteur adéquat, pour une bonne lecture Crypter son mot de passe SalesForce 1. Définition Pour effectuer des appels à l’API, vous devez vous munir de votre mot de passe ainsi que de votre jeton de sécurité. Votre jeton de sécurité est une clé générée automatiquement qui est utilisée en combinaison avec votre mot de passe pour entrer dans SalesForce à partir d'un réseau non approuvé ou se connecter à une application tierce. Le jeton est requis si vous vous connectez à l'application via API ou un client de bureau. Quelques exemples d'applications tierces sont: Salesforce for Outlook, Apex Data Loader, Word Mail Merge, Excel Connector, etc. Pour augmenter la sécurité au niveau des appels, nous devons cryptés notre mot de passe. 2. Crypter son mot de passe Pour crypter son mot de passe rendez-vous dans le dossier /bin du DataLoader a. Création du fichier « key.txt » Nous allons générer une clé qui cryptera notre mot de passe. Pour cela, il vous faut créer un fichier texte (Clique-droit > Nouveau Fichier > Document Texte). Ce fichier peut être nommé différemment Dans notre exemple, nous allons créer un fichier texte nommé : « key.txt » b. Générer la clé Dans les dossiers du Data Loader, dans le dossier /bin, vous trouverez 2 exécutables : - Encrypt.bat : Exécutable permettant de générer une clé de cryptage et de crypter votre mot de passe - Process.bat : C’est l’exécutable qui lancera nos processus Data Loader Ouvrir l’invite de commande Windows et rendez-vous dans le dossier où se trouve l’exécutable « encrypt.bat ».
  • 7. Automatiser des imports/exports via Salesforce et le DataLoader 7 Fabien Huot Récupérer la clé qui a été généré. Dans notre exemple : « 5ed10e02e4a9f084 » Copier-Coller cette clé dans le fichier “Key.txt” que vous avez créé précédemment. c. Création du mot de passe crypté Pour créer votre mot de passe crypté, vous devez ouvrir l’invite de commande Windows et tapez : encrypt.bat -e <MotdePasseDeVotreOrganisation> <Chemin vers votre fichier Key.txt> Au niveau de votre mot de passe vous devez concaténer Process-conf.xml 1. Définition générale Le fichier process-conf.xml est un fichier de configuration qui permets la déclaration de toutes les actions qui seront mises en place pour automatiser les processus. Chaque action 'Extract', 'Insert', 'Upsert', 'Delete' doivent avoir des sections différentes dans le fichier process-conf.xml. Ce fichier doit être placé dans un dossier situé dans le dossier du Data Loader, par exemple : C:Program Filessalesforce.comApex Data Loader 9.0conf Si vous ouvrez le fichier xml, vous pouvez voir différentes sections (qui correspondent à différents processus) séparées par le tag <bean>. Il n'y a pas de limitation quant au nombre de processus dans chaque fichier XML. Soyez vigilant lors de l'utilisation de vos éditeurs de fichier XML quand vous éditez le fichier process-conf.xml. Certains éditeurs XML vont créer des tags XML au début et à la fin de votre fichier (par exemple : <xml></xml>), ce qui va causer la non-éxécution de vos processus sans vous expliquer pourquoi. 2. Définition de chaque « entry » Paramètres Descriptions <bean id="PROCESSNAME" class="xxx" singleton="false"> La première ligne définie le processus dans le fichier XML. Le nom du processus doit être unique et va être utilisé pour appeler le processus. Changez le PROCESSNAME et laissez les autres champs par défaut.
  • 8. Automatiser des imports/exports via Salesforce et le DataLoader 8 Fabien Huot <description>ENTER YOUR DESCRIPTION HERE</description> Description du processus. Vous pouvez entrer une description du processus que vous mettez en place <property name="name" value="PROCESSNAME"/> Habituellement, je copie le PROCESSNAME et je le place dans ce paramètre. Ce paramètre est utilisé dans les fichiers de log lors des affichages de messages d'erreurs. <property name="configOverrideMap"> <map> Ces deux lignes initient les paramètres pour le processus. Ces deux lignes ne doivent pas être changés et doivent être toujours les mêmes. <entry key="sfdc.debugMessages" value="false"/> Mettre “True” si vous voulez des messages de debug détaillés qui apparaîtront dans les lignes de commandes <entry key="sfdc.debugMessagesFile" value="c:dataloadersamplesstatusaccountMasterSoapTrace.log"/> Renseignez la valeur d'un fichier de log qui permettra de stocker les messages de log lors de l’exécution de vos processus Ceci peut créer un fichier extrêmement lourd. Soyez sur que vous avez assez d'espace sur votre disque dur avant de mettre en place ce paramètre. Paramètres Descriptions <entry key="sfdc.endpoint" value="https://www.salesforce.com"/> Laissez par défaut, sauf si vous vous connectez depuis une sandbox <entry key="sfdc.username" value="rcua@06winter690.com" /> Mettre le nom d'utilisateur avec lequel vous ferez les importations <entry key="sfdc.password" value="b6b3016135f717754590a3e35b1db32b" /> <entry key="process.encryptionKeyFile" value="C:Program Filessalesforce.comApex Data Loader 9.0testKey.txt" /> Voir la section à propos de “Mot de passe crypté” dans ce document <entry key="sfdc.timeoutSecs" value="600"/> Valeur du système “time out” <entry key="sfdc.loadBatchSize" value="200"/> Valeur de la taille du batch. Mettez une valeur plus grande si et seulement si votre connection internet est très bonne <entry key="process.operation" value="extract" /> Permets de renseigner le type de processus qui va être exécuté. Valeurs possibles : Extract/Insert/Delete/Upsert <entry key="sfdc.entity" value="Account"/> Permets de renseigner sur quel object le processus va être exécuté. Vous devez renseigner le nom d'API de l'objet quand vous utilisez des objets personnalisés <entry key="sfdc.extractionRequestSize" value="500"/> Taille du batch pour l'extraction uniquement <entry key="sfdc.extractionSOQL" value="Select Id, MasterRecordId, Name, Type FROM Account " /> C'est la requête SOQL pour exécuter l'extraction (Vous pouvez utiliser l'interface du Data Loader pour générer la requête SOQL) <entry key="dataAccess.type" value="csvWrite" /> Désigne l'action qui va être déclenché lors du processus d'Extraction, d'Insertion, de Suppression, et d'Upsert. Valeurs possible : csvRead, csvWrite, databaseRead, databaseWrite Quand vous voulez faire une extraction, utilisez : csvWrite Pour une Suppression, une Insertion ou un Upsert, utilisez le paramètre : csvRead <entry key="dataAccess.writeUTF8" value="true" /> Quand vous utilisez “csvWrite”, parametrez la valeur à “true” afin de pouvoir exporter votre csv en UTF-8 <entry key="dataAccess.readUTF8" value="true" /> S'utilise lorsque l'on veut lire notre CSV à importer au format UTF8 <entry key="dataAccess.name" value="C:Program Filessalesforce.comApex Data Loader 9.0test extract.csv" /> Désigne la localisation et le nom du fichier qui va servir pour afficher la donnée lors d'un export, ou du fichier qui va être lu lors d'une Importation, d'une Suppression ou d'un Upsert
  • 9. Automatiser des imports/exports via Salesforce et le DataLoader 9 Fabien Huot <entry key="process.mappingFile" value="C:Program Filessalesforce.comApex Data Loader 9.0test upsert_mapping.sdl"/> Désigne la location du fichier de mapping du Data Loader. Ce fichier est obligatoire lors d'une Insertion, d'une Suppression ou d'un Upsert <entry key="sfdc.externalIdField" value="Customer_ID__c"/> Désigne l'External ID utilisé pour le processus d'Upsert. Ce paramètre est obligatoire lors d'un Upsert <entry key="process.statusOutputDirectory" value="C:Program Filessalesforce.comApex Data Loader 9.0testlogs" /> Définit le dossier où les fichiers de succès ou d'erreur du Data Loader seront générés <entry key="process.outputSuccess" value="C:Program Filessalesforce.comApex Data Loader 9.0testLogscsvUpsertProcess_success.csv" /> <entry key="process.outputError" value="C:Program Filessalesforce.comApex Data Loader 9.0testLogscsvUpsertProcess_error.csv" /> Désigne le dossier et les noms de fichiers ou les fichiers de succès et d'erreurs des processus seront générés. Si cette valeur n'est pas spécifiée, la valeur du “process.statusOutputDirectory” contiendra les mêmes noms que ceux générés par l'interface du Data Loader 3. Fichier de « mapping » Le fichier de « mapping » est un fichier qui permet de faire le lien entre les champs de Salesforce et les champs de destinations (nom de colonnes dans le fichier .csv généré) ou inversement, entre les noms de colonnes dans le fichier .csv et les champs de SalesForce. Un fichier de mapping est un fichier dont l’extension est .sdl. Les champs situés à gauche, sont les champs « source ». Les champs situés à droite sont les champs de destination. Pour un export le fichier de mapping ressemble à : (Champ SalesForce = Champ dans le fichier Excel) Dans notre exemple d’export de comptes, voici à quoi peut ressembler le fichier de mapping correspondant : Si nous avions voulu faire un import de données. Le fichier de mapping serait « inversé ». C’est-à-dire, que les champs « source » sont les noms de colonnes de votre fichier .csv, et le champ situés à droite sont les champs SalesForce. Ainsi, on aurait :
  • 10. Automatiser des imports/exports via Salesforce et le DataLoader 10 Fabien Huot 4. Exemple de création d’un processus d’extraction Ci-dessous, un exemple d’un processus d’extraction. <bean id="databaseAccountExtractProcess" class="com.salesforce.dataloader.process.ProcessRunner" singleton="false"> <description>DatabaseAccountExtract job gets account info from salesforce and updates or inserts info into database."</description> <property name="name" value="databaseAccountExtract"/> <property name="configOverrideMap"> <map> <entry key="sfdc.debugMessages" value="false"/> <entry key="sfdc.debugMessagesFile" value="c:dataloadersamplesstatussfdcSoapTrace.log"/> <entry key="sfdc.endpoint" value="https://login.salesforce.com"/> <entry key="sfdc.username" value="user@mycompany.com"/> <!-- password specified below is invalid, please generate one using the encrypt.bat utility --> <entry key="sfdc.password" value="1111111111111111"/> <entry key="sfdc.timeoutSecs" value="600"/> <entry key="sfdc.loadBatchSize" value="200"/> <entry key="sfdc.entity" value="Account"/> <entry key="sfdc.extractionRequestSize" value="500"/> <entry key="sfdc.extractionSOQL" value="Select Id, Name, Type, ParentId, Phone, AccountNumber, Website, Sic, AnnualRevenue, NumberOfEmployees, TickerSymbol, Oracle_Id__c FROM Account"/> <entry key="process.operation" value="extract"/> <entry key="process.mappingFile" value="c:dataloadersamplesconfaccountExtractToDbMap.sdl"/> <entry key="dataAccess.type" value="databaseWrite"/> <entry key="dataAccess.name" value="updateAccount"/> </map> </property> </bean> Il ne faut pas oublier de renseigner le mot de passe qui a été généré
  • 11. Automatiser des imports/exports via Salesforce et le DataLoader 11 Fabien Huot Créer un script batch 1. Créer un script Le script batch sera notre exécutable. C’est ce script qui sera exécuté par notre « Planificateur de Tâche Windows ». Dans un premier temps, nous allons créer le fichier, et ensuite développer le script batch pour appeler notre processus d’extraction du Data Loader. Pour créer un « batch script », il vous suffit de créer un nouveau document de l’enregistrer avec le suffixe « .bat », comme l’image ci-dessous : Maintenant que nous avons notre fichier .bat (notre exécutable), nous allons renseigner la ligne de code pour appeler notre processus Data Loader 2. Appeler un processus du Data Loader Dans votre fichier .bat récemment créé, renseigner une ligne de commande comme celle ci-dessous : Description de la ligne de commande : - call : Commande windows permettant d’exécuter un .bat - process : l’exécutable « process.bat » se situant dans le dossier /bin du Data Loader - « C:Program Files (x86)salesforce.comData Loadersamplesconf : Dossier contenant le fichier process-conf.xml - databaseAccountExtractProcess : Identifiant du processus (notre bean dans le fichier process- conf.xml)
  • 12. Automatiser des imports/exports via Salesforce et le DataLoader 12 Fabien Huot Sauvegarder votre fichier, et testez-le. Pour le tester, il vous suffit de double-cliquer sur l’exécutable. La prochaine étape consiste à créer une tâche automatisée, qui exécutera notre export de manière automatique. Créer une tâche automatique sur Windows 1. Contexte Maintenant que notre exécutable est créer et que l’export fonctionne, nous allons créer notre tâche Windows, afin que l’extraction se fasse de manière automatique tous les jours à 9 heures du matin. 2. Création d’une tâche basique Ouvrez votre « Planificateur de tâches ». Dans le menu de droite, cliquez sur « Créer une tâche de base… » (Comme l’image ci-dessous) :
  • 13. Automatiser des imports/exports via Salesforce et le DataLoader 13 Fabien Huot 1. Nom de la tache & Description Renseignez un nom de tâche et une description (optionnelle) : Cliquez sur « Suivant » 2. Déclencheur Nous allons ensuite définir à quelle fréquence la tâche sera exécutée. Dans notre exemple, nous souhaitons qu’elle soit déclenchée tous les jours. Dans ce cas, nous sélectionnons l’option « Tous les jours » (voir l’imagine ci-dessous)
  • 14. Automatiser des imports/exports via Salesforce et le DataLoader 14 Fabien Huot Cliquez sur « Suivant » Ensuite, l’assistant nous propose de sélectionner une date ainsi qu’une heure de début. Cliquez sur « Suivant » 3. Action Sélectionnez une action. Dans notre exemple, nous allons exécuter un script (le .bat que nous avons créé précédemment)
  • 15. Automatiser des imports/exports via Salesforce et le DataLoader 15 Fabien Huot Cliquez sur « Suivant » Dans l’étape suivante, nous allons affecter notre script à cette tâche. Pour cela, cliquez sur Parcourir et sélectionnez votre .bat Afin d’éviter des erreurs au lancement du script. Il est nécessaire d’indiquer le dossier dans lequel se trouve le script dans la case « Commancer dans ». Même si ce champ est dit « Facultatif » vous devez le renseigner pour éviter toutes erreurs Cliquez sur « Suivant » Un récapitulatif de votre tâche est affiché à l’écran. Cliquez sur « Terminer » Votre tâche est désormais créée. L’export de vos contacts s’effectuera tous les jours à 9 heures.