Cette page explique comment charger des données à partir d'objets Salesforce dans Google Cloudavec Cloud Data Fusion. Le plug-in de source par lot Salesforce lit les objets sObject de Salesforce. Les sObjects sont les tables Salesforce à partir desquelles vous prévoyez d'extraire des données. Les objets sObject peuvent être des opportunités, des contacts, des comptes, des prospects et des objets personnalisés.
Le plug-in de source par lot Salesforce permet de lire les données avec des requêtes Salesforce Object Query Language (SOQL) et des filtres de date incrémentiels ou de plage.
Avant de commencer
- La source par lot Salesforce Cloud Data Fusion utilise l'API Bulk V1 de Salesforce.
- Configurez Salesforce avant de déployer et d'utiliser le plug-in Salesforce Cloud Data Fusion. Pour en savoir plus, consultez 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 Pipeline de données – Lot est sélectionné (et non Temps réel).
- Dans le menu Source, cliquez sur Salesforce. Le nœud Salesforce s'affiche dans votre pipeline. Si la source Salesforce ne s'affiche pas sur la page Studio, déployez les plug-ins Salesforce depuis le hub Cloud Data Fusion.
- Pour configurer la source, accédez au nœud Salesforce et cliquez sur Propriétés.
Saisissez les propriétés suivantes. Pour obtenir la liste complète, consultez 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 l'origine (par exemple,
Salesforce tables
). Saisissez les informations de connexion. Vous pouvez configurer une nouvelle connexion ponctuelle ou une connexion existante réutilisable.
Nouvelle connexion
Pour ajouter une connexion ponctuelle à Salesforce, procédez comme suit :
- Laissez l'option Utiliser la connexion désactivée.
Dans la section Connexion, saisissez les informations suivantes du compte Salesforce dans ces champs :
- 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 depuis Salesforce, consultez Obtenir des propriétés depuis Salesforce.
Connexion réutilisable
Pour réutiliser une connexion existante, procédez comme suit :
- Activez l'option Utiliser la connexion.
- Cliquez sur Parcourir les connexions.
Cliquez sur le nom de la connexion.
Facultatif : Si aucune connexion n'existe et que vous souhaitez en créer une réutilisable, cliquez sur Ajouter une connexion, puis suivez les étapes de l'onglet Nouvelle connexion.
Saisissez le nom SObject pour charger toutes les colonnes de l'objet.
Facultatif : Si vous sélectionnez le nom de l'objet S, vous pouvez filtrer les données à l'aide des champs suivants :
- Dernière modification après : n'incluez que les enregistrements qui ont été modifiés après une heure donnée.
- Dernière modification avant le : n'incluez que les enregistrements qui ont été modifiés avant une heure donnée.
- Durée : n'incluez que les enregistrements qui ont été modifiés pour la dernière fois 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 antérieure à l'heure de début logique du pipeline, moins le décalage indiqué.
Facultatif : Pour les sObjects compatibles, activez l'option Activer le chunking de clé primaire afin d'améliorer les performances d'un pipeline. Pour en savoir plus, consultez Améliorer les performances avec le découpage PK.
Facultatif : Au lieu de spécifier le nom de l'objet S, vous pouvez saisir une requête SOQL, telle que
SELECT LastName from Contact
. Pour en savoir plus, consultez 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 listée (techniquement, un sObject).
- Saisissez un libellé pour le nœud Salesforce (par exemple,
Propriétés
Propriété | Macro activée | Propriété requise | Description |
---|---|---|---|
Nom de la référence | Non | Oui | Permet d'identifier de manière unique cette source pour des tâches telles que la traçabilité et l'annotation de métadonnées. |
Utiliser une connexion | Non | Non | Utilisez 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é, l'application Cloud Data Fusion l'ajoute avant de s'authentifier auprès de Salesforce. |
Clé client | Oui | Oui | Clé client de l'application. Il s'agit également de l'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. Il s'agit également du 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 d'inactivité de la connexion | Oui | Non | Temps maximal, en millisecondes, à attendre avant l'expiration du délai d'initialisation de la connexion. La valeur par défaut est de 30 000 millisecondes. |
URL du proxy | Oui | Non | URL de proxy, qui contiennent un protocole, une adresse et un port. |
SOQL | Oui | Non | Requête SOQL permettant d'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 depuis Salesforce et génère une requête SOQL, telle que select FIELD_1, FIELD_2 from
${sObjectName} . Ce paramètre est ignoré si une requête SOQL est fournie.Il existe également des sObjects qui ne sont pas compatibles avec l'API Salesforce Bulk. La création d'un job avec un objet non compatible entraîne 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 où l'API Bulk n'est pas utilisée : 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. Si la requête respecte la limite, elle exécute la requête d'origine. Sinon, il passe à la logique des objets larges. Par exemple, il génère une requête d'ID qui ne récupère que les informations sur les lots 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 fournie, 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 dont le champ système LastModifiedDate est antérieur à la date spécifiée. Utilisez le format de date Salesforce (voir les exemples). Si vous spécifiez cette valeur avec la propriété Dernière modification après, vous pouvez lire les données qui ont été modifiées au cours d'une période donnée. Si aucune valeur n'est fournie, aucune date limite n'est appliquée. |
Durée | Oui | Non | Filtrez les données pour ne lire que les enregistrements qui ont été modifiés pour la dernière fois au cours d'une période de la taille spécifiée. Par exemple, si la durée est 6 hours et que le pipeline s'exécute à 9h, il lira les données qui ont été mises à jour pour la dernière fois entre 3h (inclus) et 9h (exclus).
Spécifiez la durée avec des nombres et les unités de temps suivantes :
2 days, 1 hours, 30 minutes . Si une valeur est déjà spécifiée pour 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 où 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 6 hours , le décalage est 1 hours et le pipeline s'exécute à 9h, les données modifiées en dernier lieu entre 2h (inclus) et 8h (exclus) sont lues.Spécifiez la durée à l'aide de chiffres et des unités de temps suivantes :
2 days, 1 hours, 30 minutes . Si une valeur est déjà spécifiée pour 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 sont renvoyés.L'opération par défaut est query . |
Activer le découpage PK | Oui | Non | Le découpage par clé primaire divise une requête sur de grandes tables en plusieurs parties, ou blocs, en fonction des ID d'enregistrement, ou clés primaires, des enregistrements interrogés. Salesforce vous recommande d'activer le regroupement de clés primaires 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 Segmentation des clés primaires. Le chunking de clé primaire ne fonctionne qu'avec les requêtes qui n'incluent pas de clauses SELECT ni de conditions autres que WHERE .
Le découpage est compatible avec les objets personnalisés et toutes les tables "Partage" et "Historique" qui acceptent les objets standards. |
Taille du bloc | Oui | Non | Spécifiez la taille du bloc. La taille maximale est de 250 000. La taille par défaut est de 100 000. |
Nom du parent SObject | Oui | Non | Parent de l'objet Salesforce. Cette option permet d'activer le découpage en blocs pour les tables d'historique ou les objets partagés. |
Exemples de formats 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 liste les 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 (en microsecondes) |
time |
time (en 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
Voici quelques cas d'utilisation de la source par lot Salesforce :
Conditions préalables pour la mise à niveau vers la version 1.7.0 du plug-in Salesforce
Le plug-in Salesforce version 1.7.0 est disponible dans Cloud Data Fusion version 6.8.0 et ultérieure. Cette version inclut la mise à niveau de la version 1 de l'API Salesforce Bulk de la version 62.0 à la version 64.0.
Salesforce a abandonné certains champs dans la version 64.0 de l'API. La mise à niveau vers la version 1.7.0 du plug-in Salesforce peut entraîner l'échec des pipelines qui utilisent ces champs. Pour vous assurer que vos pipelines continuent de fonctionner, mettez à jour manuellement leur schéma afin de charger un nouveau schéma ou de supprimer les champs obsolètes.
Champs obsolètes dans la version 64.0 de l'API Salesforce
Salesforce a rendu obsolètes les champs suivants dans la version 64.0 de l'API :
Nom de l'objet | Noms des champs |
---|---|
MobSecurityCertPinConfig | EffectiveDate |
Profil | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
PermissionSet | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
PermissionSetLicense | MaximumPermissionsAllowObjectDetectionTraining MaximumPermissionsAllowObjectDetection |
UserPermissionAccess | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
MutingPermissionSet | PermissionsAllowObjectDetectionTraining PermissionsAllowObjectDetection |
Domaine | OptionsHstsHeaders |
Utilisateur | UserPreferencesHideInvoicesRedirectConfirmation UserPreferencesHideStatementsRedirectConfirmation |
UserChangeEvent | UserPreferencesHideInvoicesRedirectConfirmation UserPreferencesHideStatementsRedirectConfirmation |
Mettre à jour le schéma du pipeline
Si votre pipeline utilise des champs obsolètes, mettez à jour le schéma du pipeline en chargeant un nouveau schéma ou en supprimant les champs obsolètes :
Accédez à l'interface Web de Cloud Data Fusion, puis cliquez sur Liste.
Pour afficher les pipelines déployés, cliquez sur l'onglet Déployés.
Pour le pipeline que vous souhaitez modifier, cliquez sur > Modifier.
Dans la vue Studio, pointez sur le plug-in source Salesforce, puis cliquez sur Propriétés.
La fenêtre de configuration du plug-in Salesforce s'ouvre.
Pour charger un nouveau schéma, procédez comme suit :
Dans l'onglet Schéma de sortie, cliquez sur > Effacer, puis sur Valider. Cela charge le dernier schéma de Salesforce.
Une fois le schéma chargé, dans l'onglet Schéma de sortie, cliquez sur > Propager.
Cela met automatiquement à jour le schéma de tous les plug-ins suivants du pipeline, ce qui peut écraser les modifications manuelles du schéma dans les plug-ins tels que Wrangler.
Pour supprimer manuellement les champs obsolètes, procédez comme suit :
- Dans l'onglet Schéma de sortie, cliquez sur pour chacun des champs obsolètes. Les champs sont ainsi supprimés de toutes les étapes suivantes.
Bonnes pratiques
Pour en savoir plus sur l'amélioration des performances dans la source de lot Salesforce, consultez les bonnes pratiques.
Notes de version
Étapes suivantes
- Suivez un tutoriel sur le plug-in Salesforce.