Accéder au contenu principal Passer au contenu complémentaire

Base de données Salesforce (SFDC) - Import

Availability-note AWS

Prérequis du pont

Ce pont :
  • nécessite un accès à Internet vers https://repo.maven.apache.org/maven2/ et/ou d'autres sites d'outils permettant de télécharger des pilotes dans <TDC_HOME>/data/download/MIMB/.

Spécifications du pont

Fournisseur Salesforce
Nom de l'outil Base de données
Version de l'outil Winter'18 (API v41.0) à la version courante
Site Web de l'outil http://www.salesforce.com/
Méthodologie supportée [Base de données relationnelle] Data Store (Modèle de données physique) via une API REST
Profiling de données
Collecte incrémentale
Collecte multi-modèle
Navigation dans le référentiel distant pour sélectionner un modèle

SPÉCIFICATIONS
Outil : Salesforce/Version de la base de données Winter'18 (API v41.0) via l'API REST
Consultez http://www.salesforce.com/
Métadonnées : [Base de données relationnelle] Data Store (Modèle de données physique)
Composant : SalesforceObjects version 11.2.0

AVERTISSEMENT
Ce pont d'import requiert un accès à Internet pour télécharger les bibliothèques tierces :
- par exemple https://repo.maven.apache.org/maven2/ pour télécharger les bibliothèques tierces open source,
- et plus de sites pour d'autres logiciels tiers, comme les pilotes JDBC spécifiques pour les bases de données.

Les bibliothèques tierces téléchargées sont stockées dans $HOME/data/download/MIMB/
- Si le protocole HTTPS échoue, le pont d'import essaye ensuite avec HTTP.
- Si un proxy est utilisé pour accéder à Internet, vous devez configurer ce proxy dans l'environnement JRE (voir l'option -j dans le paramètre Divers).
- Si le pont d'import n'a pas d'accès à Internet, le répertoire $HOME/data/download/MIMB/ peut être copié depuis un autre serveur qui a accès à Internet, où la commande $HOME/bin/MIMB.sh (ou .bat) -d peut être utilisée pour télécharger en une fois toutes les bibliothèques tierces utilisées par tous les ponts.

En exécutant ce pont d'import, vous reconnaissez être responsable des conditions d'utilisation et de toute autre faille de sécurité potentielle liées au téléchargement de ces bibliothèques logicielles tierces.

VUE D'ENSEMBLE
Ce pont d'import authentifie le consommateur et récupère les métadonnées physiques disponibles (p. ex. des tables). Utilisation du flux d'authentification nom d'utilisateur-mot de passe qui suppose que le consommateur a déjà les informations d'identification de l'utilisateur.

PRÉREQUIS
Dans le cas où des utilisateurs enverraient des documents Salesforce, certains paramètres de sécurité doivent être configurés pour permettre l'accès aux objets standards et aux objets personnalisés.
Pour configurer des autorisations :
- - Dans Salesforce, cliquez sur Configuration, puis sur Gérer les utilisateurs.
- Dans l'arborescence de Gérer les utilisateurs, cliquez sur Profils.
- Quand Profils s'affiche sur la droite, sélectionnez le profil à modifier et cliquez sur le lien Modifier situé près du profil.

Objets standards : veillez à ce que l'autorisation "Lecture" soit sélectionnée pour la section "Documents".
Objets personnalisés : veillez à ce que l'autorisation en lecture soit sélectionnée pour chaque objet personnalisé.

Version de l'API : Ce pont supporte toutes les versions de Salesforce à partir de la version Winter’18 (API v41.0) jusqu'à la version la plus récente, comme Spring’23 (API v57.0).
Ce pont détecte automatiquement la version de l'API <MajorInt>.<MinorInt> du serveur Saleforce pour émettre les requêtes suivantes :
- URI 'Describe Global' : /v<MajorInt>.<MinorInt>/sobjects/
- URI 'sObject Basic Information' : /v<MajorInt>.<MinorInt>/sobjects/sObject/
- URI 'SOQL Query' : /v<MajorInt>.<MinorInt>/query?
Notez que la détection automatique de version peut être écrasée pour forcer l'utilisation d'une version spécifique, à l'aide de l'option -api.version dans le paramètre Divers.

Pour configurer l'authentification OAuth :
- Dans la console d'administration Salesforce, créez un élément "Gérer les Appli connectées"
Configurez les propriétés comme suit :
- Activez les paramètres OAuth
- Sous Périmètres OAuth disponibles, sélectionnez "Fournir l'accès à vos données par le Web (web)"
Dans MM/MIMB :
- Renseignez les champs "Clé consommateur" et "Secret consommateur"
- Dans le paramètre Divers, spécifiez "-access_token". Lorsque cela est spécifié, le pont n'essaye pas d'obtenir un jeton d'accès avant l'import mais utilise le jeton fourni.

Pour configurer le flux OAuth 2.0 JWT Bearer :
-Utilisez l'utilitaire de keytool Java pour générer une paire de clés. L'entrée doit être nommée "Salesforce", par ex.
%JAVA_HOME%\bin\keytool -genkeypair -keystore %JAVA_HOME%\lib\security\cacerts -storepass *specify JKS password* -storetype PKCS12 -alias Salesforce -keyalg RSA -keysize 2048 -dname "CN=Salesforce.Import.Bridge@metaintegration.info, OU=Poltava, O=Metaintegration, L=SanJose, ST=CA, C=US" -validity 365

- Exportez la paire de clés générée en tant que fichier certificat, par ex.
%JAVA_HOME%\bin\keytool -exportcert -keystore %JAVA_HOME%\lib\security\cacerts -storepass *specify JKS password* -alias Salesforce -file Salesforce.crt -rfc

- Exportez le fichier PEM de clé privée générée "Salesforce.pem", par ex.
openssl pkcs12 -in KeyStore.jks.p12 -nocerts -nodes -out Salesforce.pem
- Assurez-vous que le fichier a le bon contenu, par ex.
Attributs clés : <Pas d'attribut>
-----BEGIN PRIVATE KEY-----
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCqtbOsYWiJXTrU
bHUnLvNH5Kieuer3RGSrogiWv2fLjQGXbHWSDjMbCFVU72T3+hT7uyKgfwA8P9V1
...
EioPeaQkpfOkdqNLEf9aZQ==
-----END PRIVATE KEY-----
-Le contenu de ce fichier doit être spécifié dans le paramètre de pont 'Consumer Secret (Secret du consommateur)'.

-Dans la console d'administration Salesforce, créez "Manage Connected Apps (Gérer les applications connectées)"
Configurez les propriétés comme suit :
- Activez les paramètres OAuth
- Activez l'option "Use digital signatures (Utiliser les signatures numériques)" et chargez le certificat généré.

Dans Available OAuth Scopes (Périmètres OAuth disponibles) :
- sélectionnez "Provide access to your data via the Web (web) (Fournir l'accès à vos données par le Web (web))"
- sélectionnez "Perform requests at any time (Effectuer des requêtes à tout moment) (refresh_token, offline_access)"

Dans OAuth Policies (Politiques OAuth) :
- spécifiez "Admin approved users are pre-authorized (Les utilisateurs approuvés par l'administrateur sont pré-autorisés)"

Dans Profiles (Profils) :
- spécifiez le profil requis

Pour pouvoir utiliser ce flux, spécifiez l'utilisateur "User" requis et laissez le champ "Password (Mot de passe)" vide

FOIRE AUX QUESTIONS
n/a

LIMITATIONS
Consultez les limitations générales connues à l'adresse https://metaintegration.com/Products/MIMB/Help/#!Documents/mimbknownlimitations.html
Le champ nommé "Description" dans la troisième colonne est omis par l'API Salesforce et ne s'affiche donc sous aucun profil.

SUPPORT
Fournissez un package de dépannage avec :
- le log de débogage (peut être défini dans l'UI ou dans conf/conf.properties avec MIR_LOG_LEVEL=6)
- la sauvegarde des métadonnées si disponible (peut être configurée dans le paramètre Divers avec l'option -backup, même si cette option commune n'est pas implémentée pour tous les ponts pour des raisons techniques).

- Comment récupérer un jeton d'accès Salesforce :
curl https://*your Salesforce instance URL* -d "grant_type=password" -d "client_id=*your Salesforce Client ID*" -d "client_secret=*your secret*" -d "username=*your Salesforce username*" -d "password=*your Salesforce password*" -H "X-PrettyPrint: 1"

Si vous ne disposez pas des valeurs de paramètre d'authentification nom d'utilisateur-mot de passe mais avez un jeton d'accès ainsi qu'une URL d'instance Salesforce, vous pouvez les spécifier à l'aide du paramètre Divers (consultez sa description pour plus d'informations). Dans ce cas, vous devez quand même renseigner tous les paramètres obligatoires, dont le texte sera ignoré.


Paramètres du pont

Nom du paramètre Description Type Valeurs Défaut Périmètre
URL d'instance/de Mon domaine URL de l'endpoint de connexion à Salesforce.
Si elle est vide, cette valeur est par défaut : https://login.salesforce.com.
Vous pouvez utiliser l'URL d'instance de votre société (telle que https://na30.salesforce.com) ou l'URL de Mon domaine (telle que https://myCompanyName.my.salesforce.com/).
L'URL de l'instance de votre entreprise est obligatoire si vous utilisez 'OAuth 2.0 Client Credentials Flow (Flux des informations d’identification du client OAuth 2.0 )' et que le mot de passe est vide. Sinon, vous obtenez l'erreur 'Cannot retrieve access token. Make sure you specify proper Instance/My Domain URL (Impossible de récupérer le jeton d'accès. Assurez-vous de spécifier les bonnes URL de l'instance et de votre domaine)".
Chaîne de caractères      
User (Utilisateur) Nom d'utilisateur de l'utilisateur que l'application connectée imite. Chaîne de caractères      
Password Mot de passe de l'utilisateur que l'application connectée imite. Laissez ce paramètre vide si vous souhaitez utiliser 'OAuth 2.0 Client Credentials Flow (Flux des informations d’identification du client OAuth 2.0 )'
Le jeton de sécurité est une clé générée automatiquement qui doit être ajoutée à la fin du mot de passe pour se connecter à Salesforce depuis un réseau non fiable. Concaténez le mot de passe et le jeton lors du transfert de la requête d'authentification.
https://help.salesforce.com/articleView?id=remoteaccess_oauth_username_password_flow.htm&;type=5
MOT DE PASSE      
Clé du consommateur Clé du consommateur de la définition de l'application connectée.
La clé du consommateur de l'application connectée peut être trouvée sur la page Gérer les applications connectées de l'application connectée ou à partir de la définition de l'application connectée.
https://help.salesforce.com/articleView?id=remoteaccess_oauth_username_password_flow.htm&;type=5
Chaîne de caractères     Éléments obligatoires
Secret du consommateur Secret du consommateur de la définition de l'application connectée.
La clé du consommateur de l'application connectée peut être trouvée sur la page Gérer les applications connectées de l'application connectée ou à partir de la définition de l'application connectée.
https://help.salesforce.com/articleView?id=remoteaccess_oauth_username_password_flow.htm&;type=5
MOT DE PASSE      
Objets Liste des noms d'objets, séparés par un point-virgule ";" ou une virgule ",". Par ex. object1, object2
Une liste vide signifie que tous les objets sont importés.
Vous pouvez spécifier des noms d'objets en tant que modèle à caractères de remplacement, par exemple :
topic?

*topic*

topic_?,*topic*
REPOSITORY_SUBSET      
Miscellaneous INTRODUCTION
Spécifiez les options Divers, commençant par un tiret et suivies éventuellement par des paramètres, par exemple :
-connection.cast MyDatabase1="MICROSOFT SQL SERVER"
Certaines options peuvent être utilisées plusieurs fois, si applicable, par exemple :
-connection.rename NewConnection1=OldConnection1 -connection.rename NewConnection2=OldConnection2;
La liste d'options pouvant être une longue chaîne, il est possible de la charger à partir d'un fichier qui doit être situé dans ${MODEL_BRIDGE_HOME}\data\MIMB\parameters et avoir l'extension .txt. Dans ce cas, toutes les options doivent être définies au sein de ce fichier comme seule valeur de ce paramètre, par exemple
ETL/Miscellaneous.txt

OPTIONS DE L'ENVIRONNEMENT JAVA
-java.memory <taille maximale de la mémoire Java> (anciennement -m)

1 Go par défaut sur un JRE de 64 bits ou tel que défini dans conf/conf.properties, par exemple
-java.memory 8G
-java.memory 8000M

-java.parameters <options de ligne de commande de Java Runtime Environment> (anciennement -j)

Cette option doit être la dernière dans le paramètre Divers car tout le texte après -java.parameters est passé tel quel à la JRE. Par ex.
-java.parameters -Dname=value -Xms1G
L'option suivante doit être définie lorsqu'un proxy est utilisé pour accéder à Internet (cela est essentiel pour accéder à https://repo.maven.apache.org/maven2/ et exceptionnellement à quelques autres sites d'outils) afin de télécharger les bibliothèques logicielles tierces nécessaires.
Note : La majorité des proxys sont relatifs au chiffrement (HTTPS) du trafic extérieur (à l'entreprise) et à la confiance en le trafic intérieur pouvant accéder au proxy via HTTP. Dans ce cas, une requête HTTPS atteint le proxy via HTTP où le proxy la chiffre en HTTPS.
-java.parameters -java.parameters -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=3128 -Dhttp.proxyUser=user -Dhttp.proxyPassword=pass

OPTIONS D'IMPORT DU MODÈLE
-model.name <nom modèle>

Écrase le nom du modèle, par ex.
-model.name "My Model Name"

-prescript <nom script>

Cette option permet d'exécuter un script avant l'exécution du pont.
Le script doit se situer dans le répertoire bin (ou comme spécifié dans M_SCRIPT_PATH dans conf/conf.properties) et avoir une extension .bat ou .sh.
Le chemin d'accès au script ne doit pas inclure de symbole relatif au répertoire parent (..).
Le script doit retourner le code de sortie 0 pour indiquer un succès ou une autre valeur pour indiquer un échec.
Par exemple :
-prescript "script.bat arg1 arg2"

-postscript <nom script>

Cette option permet d'exécuter un script après l'exécution réussie du pont.
Le script doit se situer dans le répertoire bin (ou comme spécifié dans M_SCRIPT_PATH dans conf/conf.properties) et avoir une extension .bat ou .sh.
Le chemin d'accès au script ne doit pas inclure de symbole relatif au répertoire parent (..).
Le script doit retourner le code de sortie 0 pour indiquer un succès ou une autre valeur pour indiquer un échec.
Par exemple :
-postscript "script.bat arg1 arg2"

-cache.clear

Vide le cache avant l'import et va exécuter un import complet avec collecte incrémentale.

Si le modèle n'a pas été modifié et que le paramètre -cache.clear n'est pas utilisé (collecte incrémentale), une nouvelle version ne sera pas créée.
Si le modèle n'a pas été modifié et que le paramètre -cache.clear n'est pas utilisé (collecte incrémentale), une nouvelle version ne sera pas créée.

-backup <répertoire>

Permet d'enregistrer les métadonnées d'entrée à des fins de débogage. Le <répertoire> fourni doit être vide.

-restore <répertoire>

Spécifiez le <répertoire> de sauvegarde à restaurer.

OPTIONS DES CONNEXIONS DE DONNÉES
Les connexions de données sont produites par les ponts d'import, généralement à partir des outils ETL/DI et BI pour faire référence aux data stores sources et cibles qu'elles utilisent. Ces connexions de données sont ensuite utilisées par les outils de gestion des métadonnées pour connecter ces dernières (connexion des métadonnées) à leurs data stores réels (par exemple, bases de données, système de fichiers, etc.) afin de produire le lignage complet de flux de données et de l'analyse d'impact de bout en bout. Le nom des connexions de données doit être unique dans chaque modèle d'import. Les noms de connexion de données utilisés dans les outils de conception DI/BI sont utilisés quand cela est possible, sinon ils sont générés en étant courts mais significatifs, comme le nom de la base de données/du schéma, le chemin d'accès au système de fichiers ou l'URI (Uniform Resource Identifier). L'option suivante vous permet de manipuler les connexions. Ces options remplacent les options héritées -c, -cd et -cs.

-connection.cast ConnectionName=ConnectionType

Lance une connexion à une base de données générique (par exemple ODBC/JDBC) pour un type de base de données précis (par exemple ORACLE) pour une analyse SQL, par exemple
-connection.cast "My Database"="MICROSOFT SQL SERVER".
La liste des types de connexions aux data stores comprend :
ACCESS
APACHE CASSANDRA
DB2/UDB
DENODO
GOOGLE BIGQUERY
HIVE
MYSQL
NETEZZA
ORACLE
POSTGRESQL
PRESTO
REDSHIFT
SALESFORCE
SAP HANA
SNOWFLAKE
MICROSOFT SQL AZURE
MICROSOFT SQL SERVER
SYBASE SQL SERVER
SYBASE AS ENTERPRISE
TERADATA
VECTORWISE
HP VERTICA

-connection.rename OldConnection=NewConnection

Renomme une connexion existante, par exemple, par ex.
-connection.rename OldConnectionName=NewConnectionName
Plusieurs connexions de bases de données existantes peuvent être renommées et fusionnées en une nouvelle connexion de base de données, par exemple :
-connection.rename MySchema1=MyDatabase -connection.rename MySchema2=MyDatabase

-connection.split oldConnection.Schema1=newConnection

Scinde une connexion de base de données en une ou plusieurs connexions de base de données.
Une connexion de base de données peut être scindée en une connexion par schéma, par exemple :
-connection.split MyDatabase
Toutes les connexions de base de données peuvent être fractionnées en une connexion par schéma, par exemple :
-connection.split *
Une connexion de base de données peut être explicitement fractionnée en une nouvelle connexion de base de données en ajoutant un nom de schéma à une base de données, par exemple :
-connection.split MyDatabase.schema1=MySchema1

-connection.map SourcePath=DestinationPath

Mappe un chemin d'accès source à un chemin d'accès de destination. Cela est utile pour les connexions aux systèmes de fichiers lorsque différents chemins d'accès pointent vers le même objet (répertoire ou fichier).
Sur Hadoop, un processus peut écrire dans un fichier CSV spécifié avec le chemin d'accès complet HDFS, tandis qu'un autre processus lit d'une table Hive implémentée (externe) par le même fichier spécifié à l'aide d'un chemin d'accès relatif avec un nom et une extension de fichier par défaut, par exemple :
-connection.map /user1/folder=hdfs://host:8020/users/user1/folder/file.csv
Sous Linux, il peut être fait référence à un répertoire (ou à un fichier) donné tel que /data par plusieurs liens symboliques tels que /users/john et /users/paul, par exemple :
-connection.map /data=/users/John -connection.map /data=/users/paul
Sous Windows, il peut être fait référence à un répertoire donné tel que C:\data par plusieurs lecteurs réseau tels que M: et N:, par exemple :
-connection.map C:\data=M:\ -connection.map C:\data=N:\

-connection.casesensitive ConnectionName...

Écrase les règles de rapprochement insensibles à la casse par défaut pour les identifiants d'objets dans la connexion spécifiée, si le type du data store détecté supporte cette configuration (par ex. Microsoft SQL Server, MySQL etc.), par exemple :
-connection.casesensitive "My Database"

-connection.caseinsensitive ConnectionName...

Écrase les règles de rapprochement sensibles à la casse par défaut pour les identifiants d'objets dans la connexion spécifiée, si le type du data store détecté supporte cette configuration (par ex. Microsoft SQL Server, MySQL etc.), par exemple :
-connection.caseinsensitive "My Database"

-connection.level AggregationLevel

Spécifie le niveau d'agrégation pour les connexions externes, par exemple -connection.level catalog
Liste des valeurs supportées :
server (serveur)
catalog (catalogue)
schema (schéma)(par défaut)

OPTIONS SALESFORCE

-access_token <jeton>


Configure le jeton d'accès à Salesforce. Il s'agit d'une clé alphanumérique "longue" sensible à la casse utilisée POUR un accès temporaire (minutes ou heures) à Salesforce. Lorsque le jeton d'accès expire, les tentatives pour l'utiliser échouent. Dans Salesforce, le jeton d'accès est un identifiant de session (session ID, SID), ressemblant sensiblement à un cookie de session sur d'autres systèmes. Il doit être protégé de toute mauvaise utilisation.

-api.version <MajorInt>.<MinorInt>


Force l'utilisation de la version de l'API Salesforce au lieu de la version la plus récente détectée par le pont. La valeur de la version doit être spécifiée au format <MajorInt>.<MinorInt>, par ex. '41.0'.
Chaîne de caractères      

 

Mapping du pont

Les informations de mapping ne sont pas disponibles

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.