Cette page explique comment charger des données à partir de sObjects Salesforce dans Google Cloud avec Cloud Data Fusion. Le plug-in source par lot Salesforce lit les objets sObject de Salesforce. Les objets sObject correspondent aux tables Salesforce à partir desquelles vous prévoyez d'extraire. Les opportunités, les contacts, les comptes, les prospects et les objets personnalisés sont des exemples de objets sObject.
Le plug-in source par lot Salesforce permet de lire des données à l'aide de requêtes SOQL (Salesforce Object Language) et de filtres incrémentiels ou de plage de dates.
Avant de commencer
- La source par lot Salesforce Cloud Data Fusion utilise l'API Salesforce Bulk V1.
- Configurez Salesforce avant de déployer et d'utiliser le plug-in Salesforce Cloud Data Fusion. Pour en savoir plus, consultez la page Créer une application connectée Salesforce pour Cloud Data Fusion.
Configurer le plug-in
- Accédez à l'interface Web de Cloud Data Fusion, puis cliquez sur Studio.
- Vérifiez que l'option Pipeline de données – Lot est sélectionnée (et non Temps réel).
- Dans le menu Source, cliquez sur Salesforce. Le nœud Salesforce apparaît dans votre pipeline. Si vous ne voyez pas la source Salesforce sur la page Studio, déployez les plug-ins Salesforce à partir de Cloud Data Fusion Hub.
- Pour configurer la source, accédez au nœud Salesforce et cliquez sur Properties (Propriétés).
Saisissez les propriétés suivantes. Pour obtenir la liste complète, consultez la section Propriétés.
- Saisissez un libellé pour le nœud Salesforce (par exemple,
Salesforce tables
). - Saisissez un nom de référence pour la source Salesforce pour la traçabilité, par exemple
Salesforce tables
. Saisissez les détails de la connexion. Vous pouvez configurer une nouvelle connexion ponctuelle ou une connexion existante réutilisable.
Nouvelle connexion
Pour ajouter une connexion unique à Salesforce, procédez comme suit:
- Laissez l'option Utiliser une connexion désactivée.
Dans la section Connection (Connexion), saisissez les informations suivantes issues du compte Salesforce dans les champs suivants:
- Username (Nom d'utilisateur)
- Mot de passe
- Jeton de sécurité
- Clé du site consommateur
- Clé secrète du site consommateur
Pour obtenir les identifiants à partir de Salesforce, consultez Obtenir des propriétés à partir de Salesforce.
Connexion réutilisable
Pour réutiliser une connexion existante, procédez comme suit:
- Activez l'option Utiliser une connexion.
- Cliquez sur Parcourir les connexions.
Cliquez sur le nom de la connexion.
Facultatif: Si aucune connexion n'existe et que vous souhaitez créer une connexion réutilisable, cliquez sur Ajouter une connexion et reportez-vous aux étapes de l'onglet Nouvelle connexion.
Saisissez le nom du SObject pour charger toutes les colonnes de l'objet.
Facultatif: Si vous sélectionnez le nom de l'objet sObject, vous pouvez filtrer les données à l'aide des champs suivants:
- Dernière modification après le: n'inclut que les enregistrements ayant été modifiés pour la dernière fois après une heure donnée.
- Dernière modification avant le: n'inclut que les enregistrements dont la dernière modification est antérieure à une heure donnée.
- Duration (durée) : n'incluez que les enregistrements dont la dernière modification a eu lieu au cours d'une période de la taille spécifiée.
- Décalage: n'incluez que les enregistrements dont la date de dernière modification est inférieure à l'heure de début logique du pipeline, moins le décalage donné.
Facultatif: Pour les objets sObject compatibles, activez l'option Enable PK fragmenting (Activer la fragmentation PK) pour améliorer les performances d'un pipeline. Pour en savoir plus, consultez Améliorer les performances avec la fragmentation PK.
Facultatif: au lieu de spécifier le nom de l'objet sObject, vous pouvez saisir une requête SOQL telle que
SELECT LastName from Contact
. Pour en savoir plus, consultez la section Requêtes SOQL pour la source Salesforce.Pour tester la connectivité, cliquez sur Obtenir un schéma. Cloud Data Fusion se connecte à Salesforce et extrait le schéma de la table répertoriée (techniquement, un objet sObject).
- Saisissez un libellé pour le nœud Salesforce (par exemple,
Propriétés
Propriété | Macro activée | Propriété obligatoire | Description |
---|---|---|---|
Nom de référence | Non | Oui | Permet d'identifier de manière unique cette source pour les tâches telles que la traçabilité et l'annotation de métadonnées. |
Utiliser la connexion | Non | Non | Utiliser une connexion existante. Si une connexion est utilisée, vous n'avez pas besoin de fournir les identifiants. |
Parcourir les connexions | Oui | Non | Nom de la connexion à utiliser. |
Nom d'utilisateur | Oui | Oui | Nom d'utilisateur Salesforce. |
Mot de passe | Oui | Oui | Mot de passe Salesforce. |
Jeton de sécurité | Oui | Non | Jeton de sécurité Salesforce. Si le mot de passe ne contient pas le jeton de sécurité, Cloud Data Fusion ajoute le jeton avant l'authentification auprès de Salesforce. |
Clé du site consommateur | Oui | Oui | Clé client de l'application. Également appelé "ID client OAuth". Pour obtenir une clé client, créez une application connectée Salesforce. |
Clé secrète du site consommateur | Oui | Oui | Code secret client de l'application. C'est ce qu'on appelle le code secret du client OAuth. Pour obtenir un code secret du client, créez une application connectée Salesforce. |
URL de connexion | Oui | Oui | URL de connexion OAuth2 Salesforce. La valeur par défaut est https://login.salesforce.com/services/oauth2/token . |
Délai de connexion | Oui | Non | Durée maximale, en millisecondes, d'attente de l'initialisation de la connexion avant l'expiration du délai. La valeur par défaut est de 30 000 millisecondes. |
URL du proxy | Oui | Non | URL du proxy, qui contient un protocole, une adresse et un port. |
SOQL | Oui | Non | Requête SOQL pour extraire des données dans la source. Exemples:
|
Nom SObject | Oui | Non | Nom de l'objet Salesforce à lire. Si une valeur est fournie, le connecteur récupère tous les champs de cet objet à partir de Salesforce et génère une requête SOQL, telle que select FIELD_1, FIELD_2 from
${sObjectName} . Ignoré si la requête SOQL est fournie.Il existe également des objets sObject qui ne sont pas compatibles avec l'API Salesforce Bulk. La création d'une tâche avec un objet non compatible génère l'erreur suivante: Entity is not supported by the Bulk
API . Ces objets ne sont pas non plus compatibles avec Einstein Analytics, qui utilise l'API Bulk pour interroger les données.Cas d'utilisation de l'API BULK:lorsque la longueur de la requête envoie la requête à Salesforce pour recevoir le tableau d'informations sur le lot, l'API Bulk n'est pas utilisée dans un cas donné. Si la requête respecte la limite, la requête d'origine est exécutée. Sinon, elle passe à la logique d'objet large. Par exemple, il génère une requête d'ID qui récupère uniquement les informations de lot pour les ID qui seront utilisés ultérieurement pour récupérer des données via l'API SOAP. |
Dernière modification après le | Oui | Non | Filtrez les données pour n'inclure que les enregistrements dont le champ système, LastModifiedDate , est supérieur ou égal à la date spécifiée. Utilisez le format de date Salesforce (voir les exemples). Si aucune valeur n'est spécifiée, aucune date limite inférieure n'est appliquée. |
Dernière modification avant le | Oui | Non | Filtrez les données pour n'inclure que les enregistrements pour lesquels le champ du système, LastModifiedDate , est inférieur à la date spécifiée. Utilisez le format de date Salesforce (exemples). La spécification de cette valeur avec la propriété Dernière modification après vous permet de lire les données modifiées au cours d'une période donnée. Si aucune valeur n'est spécifiée, aucune date limite supérieure n'est appliquée. |
Durée | Oui | Non | Filtrez les données pour ne lire que les enregistrements ayant été modifiés pour la dernière fois dans une fenêtre correspondant à la taille spécifiée. Par exemple, si la durée est 6 hours et que le pipeline s'exécute à 9h, il lit les données qui ont été mises à jour pour la dernière fois entre 3h (inclus) et 9h (exclus).
Spécifiez la durée à l'aide de nombres et des unités de temps suivantes :
2 days, 1 hours, 30 minutes . Si une valeur est déjà spécifiée dans Dernière modification après ou Dernière modification avant, la durée est ignorée. |
Décalage (offset) | Oui | Non | Filtrez les données pour ne lire que les enregistrements pour lesquels le champ système, LastModifiedDate , est inférieur à l'heure de début logique du pipeline, moins le décalage donné. Par exemple, si la durée est de 6 hours , que le décalage est de 1 hours et que le pipeline s'exécute à 9h, les données qui ont été modifiées pour la dernière fois entre 2h (inclus) et 8h (exclusif) sont lues.Spécifiez la durée à l'aide de nombres et des unités de temps suivantes :
2 days, 1 hours, 30 minutes . Si une valeur est déjà spécifiée dans Dernière modification après ou Dernière modification avant, le décalage est ignoré. |
Type d'opération SOQL | Non | Non | Spécifiez l'opération de requête à exécuter sur la table. Si une requête est sélectionnée, seuls les enregistrements actuels sont renvoyés. Si vous sélectionnez queryAll , tous les enregistrements actuels et supprimés s'affichent.L'opération par défaut est query . |
Activer la fragmentation PK | Oui | Non | La fragmentation par clé primaire (PK) divise une requête portant sur de grandes tables en plusieurs parties, ou fragments, en fonction des ID d'enregistrement (ou clés primaires) des enregistrements interrogés. Salesforce recommande d'activer la fragmentation PK lorsque vous interrogez des tables contenant plus de 10 millions d'enregistrements ou lorsqu'une requête groupée expire constamment. Pour en savoir plus, consultez la section sur la segmentation PK. La fragmentation PK ne fonctionne qu'avec les requêtes qui n'incluent pas de clauses SELECT , ou des conditions autres que WHERE .
La segmentation est compatible avec les objets personnalisés et toutes les tables de partage et d'historique compatibles avec les objets standards. |
Taille des fragments | Oui | Non | Spécifiez la taille du fragment. La taille maximale est de 250 000. La taille par défaut est de 100 000. |
Nom du parent du SObject | Oui | Non | Parent de l'objet Salesforce. Cela permet d'activer la fragmentation pour les tables d'historique ou les objets partagés. |
Exemples de format de date Salesforce
Syntaxe du format | Exemple |
---|---|
YYYY-MM-DDThh:mm:ss+hh:mm |
1999-01-01T23:01:01+01:00 |
YYYY-MM-DDThh:mm:ss-hh:mm |
1999-01-01T23:01:01-08:00 |
YYYY-MM-DDThh:mm:ssZ |
1999-01-01T23:01:01Z |
Mappages des types de données
Le tableau suivant est une liste des types de données Salesforce avec les types CDAP correspondants.
Type de données Salesforce | Type de données du schéma CDAP |
---|---|
_bool |
boolean |
_int |
int |
_long |
long |
_double , currency , percent ,
geolocation (latitude), geolocation
(longitude) |
double |
date |
date |
datetime |
timestamp (microsecondes) |
time |
time (microsecondes) |
picklist |
string |
multipicklist |
string |
combobox |
string |
reference |
string |
base64 |
string |
textarea |
string |
phone |
string |
id |
string |
url |
string |
email |
string |
encryptedstring |
string |
datacategorygroupreference |
string |
location |
string |
address |
string |
anyType |
string |
json |
string |
complexvalue |
string |
Cas d'utilisation
Consultez les cas d'utilisation suivants pour la source par lot Salesforce:
Bonnes pratiques
Pour savoir comment améliorer les performances de la source par lot Salesforce, consultez les bonnes pratiques.
Notes de version
Étapes suivantes
- Suivez un tutoriel sur le plug-in Salesforce.