Source par lot Salesforce

Cette page explique comment charger des données à partir de Salesforce Objects dans Google Cloudavec Cloud Data Fusion. Le plug-in de source par lot Salesforce lit les sObjects de Salesforce. Les sObjects sont les tables Salesforce à partir desquelles vous prévoyez d'extraire des données. Les opportunités, les contacts, les comptes, les prospects et les objets personnalisés sont des exemples d'objets sObject.

Le plug-in de source par lot Salesforce permet de lire des données à l'aide de requêtes SOQL (Salesforce Object Query Language) et de filtres de date incrémentiels ou par plage.

Avant de commencer

Configurer le plug-in

  1. Accédez à l'interface Web de Cloud Data Fusion, puis cliquez sur Studio.
  2. Vérifiez que Pipeline de données – lot est sélectionné (et non Temps réel).
  3. 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.
  4. Pour configurer la source, accédez au nœud Salesforce et cliquez sur Propriétés.
  5. Saisissez les propriétés suivantes. Pour obtenir la liste complète, consultez la section Propriétés.

    1. Saisissez un libellé pour le nœud Salesforce (par exemple, Salesforce tables).
    2. Saisissez un nom de référence pour la source Salesforce de la lignée (par exemple, Salesforce tables).
    3. Saisissez les informations de connexion. Vous pouvez configurer une connexion ponctuelle ou une connexion existante réutilisable.

      Nouvelle connexion

      Pour ajouter une connexion ponctuelle à Salesforce, procédez comme suit:

      1. Laissez l'option Utiliser la connexion désactivée.
      2. 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 dans Salesforce, consultez la section Obtenir des propriétés à partir de Salesforce.

      Connexion réutilisable

      Pour réutiliser une connexion existante, procédez comme suit:

      1. Activez l'option Utiliser la connexion.
      2. Cliquez sur Parcourir les connexions.
      3. Cliquez sur le nom de la connexion.

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

    4. Saisissez le nom de l'objet SObject pour charger toutes les colonnes de l'objet.

    5. Facultatif: Si vous sélectionnez le nom de l'objet sObject, vous pouvez filtrer les données avec les champs suivants:

      • Dernière modification après: n'inclut que les enregistrements dont la dernière modification a eu lieu après une heure donnée.
      • Dernière modification avant: n'inclut que les enregistrements dont la dernière modification a eu lieu avant une heure donnée.
      • Durée: n'inclut que les enregistrements qui ont été modifiés pour la dernière fois dans 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é.
    6. Facultatif: Pour les sObjects compatibles, activez Activer le fractionnement de PK afin d'améliorer les performances d'un pipeline. Pour en savoir plus, consultez la section Améliorer les performances avec le fractionnement de PK.

    7. Facultatif: au lieu de spécifier le nom de l'objet sObject, vous pouvez saisir une requête SOQL, par exemple SELECT LastName from Contact. Pour en savoir plus, consultez la section Requêtes SOQL pour la source Salesforce.

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

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 des tâches telles que la traçabilité et l'annotation de métadonnées.
Utiliser la connexion Non Non Utilisez une connexion existante. Si une connexion est utilisée, vous n'avez pas besoin de fournir d'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 de s'authentifier auprès de Salesforce.
Clé du site consommateur 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.
Code secret du site consommateur Oui Oui Code secret client de l'application. On parle également de code secret du client OAuth. Pour obtenir un code secret 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 expiration.
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 permettant d'extraire des données dans la source.
Exemples:
  • SELECT Id, Name, BillingCity FROM Account
  • SELECT Id FROM Contact WHERE Name LIKE 'A%' AND MailingCity = 'California'
Nom de l'objet S 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}. 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 groupée. 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 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 de lot, l'API BULK n'est pas utilisée dans un cas. Si la requête est dans la limite, elle exécute la requête d'origine. Sinon, il passe à la logique d'objet large. Par exemple, il génère une requête d'ID qui ne récupère que des 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 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 inférieur à la date spécifiée. Utilisez le format de date Salesforce (voir les exemples). Spécifier cette valeur avec la propriété Last modified after (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 fournie, aucune date limite supérieure 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 lit les données qui ont été mises à jour pour la dernière fois entre 3h (inclus) et 9h (exclu). Spécifiez la durée avec des nombres et les unités de temps suivantes :
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
Vous pouvez spécifier plusieurs unités, mais chacune ne peut être utilisée qu'une seule fois. Par exemple, 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 que le pipeline s'exécute à 9h, les données modifiées pour la dernière fois entre 2h (inclus) et 8h (exclu) sont lues.
Spécifiez la durée à l'aide de nombres et des unités de temps suivantes :
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
Vous pouvez spécifier plusieurs unités, mais chacune ne peut être utilisée qu'une seule fois. Par exemple, 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. La sélection de queryAll affiche tous les enregistrements actuels et supprimés.
L'opération par défaut est query.
Activer le fractionnement des PK Oui Non Le fractionnement par clé primaire (PK) divise une requête sur de grandes tables en morceaux, ou "chunks", en fonction des ID d'enregistrement ou des clés primaires des enregistrements interrogés.
Salesforce vous recommande d'activer le fractionnement de 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 Divergence de PK. Le fractionnement de PK ne fonctionne que avec les requêtes qui n'incluent pas de clauses SELECT ni de conditions autres que WHERE. Le fractionnement est compatible avec les objets personnalisés et toutes les tables de partage et d'historique compatibles avec les objets standards.
Taille de fragment Oui Non Spécifiez la taille du segment. La taille maximale est de 250 000. La taille par défaut est de 100 000.
Nom du parent de l'objet S Oui Non Parent de l'objet Salesforce. Il permet d'activer le fractionnement pour les tables d'historique ou les objets partagés.

Exemples de formats de date Salesforce

Syntaxe de 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 de la source par lot Salesforce:

Bonnes pratiques

Pour en savoir plus sur l'amélioration des performances dans la source de lot Salesforce, consultez les bonnes pratiques.

Étape suivante