Planifier un transfert Salesforce

Le service de transfert de données BigQuery pour SalesForce vous permet de planifier et de gérer automatiquement les tâches de chargement récurrentes de SalesForce dans BigQuery.

Limites

Les transferts Salesforce sont soumis aux limitations suivantes :

  • Le service de transfert de données BigQuery pour Salesforce n'accepte que l'API Salesforce groupée pour se connecter à l'instance Salesforce et ne prend en charge que le transfert d'entités compatibles avec l'API Salesforce groupée. Pour en savoir plus sur les entités compatibles, consultez la section Erreur "L'entité n'est pas compatible avec l'API groupée".
  • L'intervalle minimum entre deux transferts récurrents est de 15 minutes. L'intervalle par défaut entre transferts récurrents est de 24 heures.
  • Le service de transfert de données BigQuery pour Salesforce n'est pas compatible avec les connexions aux environnements de bac à sable Salesforce.

Avant de commencer

Les sections suivantes décrivent la procédure à suivre avant de créer un transfert Salesforce.

Prérequis pour Salesforce

Activez l'API Salesforce Bulk pour l'instance Salesforce.

Créez une application connectée Salesforce avec les configurations suivantes :

  • Générez un jeton de sécurité pour l'application.
  • Autorisez le flux de nom d'utilisateur et de mot de passe OAuth en procédant comme suit :

    1. Dans l'application connectée, cliquez sur Configurer.
    2. Dans le champ Recherche rapide, recherchez Paramètres OAuth et OpenID Connect, puis activez-les.

      Activer les paramètres de connexion OAuth et OpenID dans Salesforce

  • Activez l'autorisation automatique pour un utilisateur de l'application connectée en procédant comme suit :

    1. Dans l'application connectée, cliquez sur Configurer.
    2. Dans le champ Recherche rapide, recherchez Gérer les applications connectées.
    3. Cliquez sur Modifier sur l'application connectée que vous utilisez pour l'exécution du transfert.
    4. Sous Règles OAuth, cliquez sur le menu Utilisateurs autorisés, puis sélectionnez Tous les utilisateurs peuvent s'auto-autoriser.

      Activer l'auto-autorisation pour les utilisateurs dans Salesforce

    5. Sous Assouplissement des adresses IP, sélectionnez Assouplir les restrictions d'adresses IP.

      Assouplir les restrictions d'adresses IP dans Salesforce

Vous devez également disposer des informations Salesforce suivantes lors de la création d'un transfert Salesforce :

Nom du paramètre Description
clientId ID client ou clé client de l'application connectée Salesforce.
clientSecret

Code secret du client OAuth ou code secret du client de l'application connectée Salesforce.

username

Nom d'utilisateur du compte Salesforce.

password

Mot de passe du compte Salesforce.

securityToken

Jeton de sécurité du compte Salesforce. Ce jeton de sécurité est un code alphanumérique sensible à la casse ajouté au mot de passe. Le jeton de sécurité est requis lorsque vous accédez aux API Salesforce en dehors de la plage d'adresses IP de confiance de votre configuration Salesforce.

Prérequis pour BigQuery

Rôles BigQuery requis

Pour obtenir les autorisations nécessaires pour créer un transfert, demandez à votre administrateur de vous accorder le rôle IAM Administrateur BigQuery (roles/bigquery.admin). Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ce rôle prédéfini contient les autorisations requises pour créer un transfert. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer un transfert :

  • bigquery.transfers.update sur l'utilisateur
  • bigquery.datasets.get sur l'ensemble de données cible
  • bigquery.datasets.update sur l'ensemble de données cible

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Configurer un transfert de données Salesforce

Pour créer un transfert de données Salesforce, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Cliquez sur Transferts de données > Créer un transfert.

  3. Dans la section Type de source, sous Source sélectionnez Salesforce.

  4. Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert.

  5. Dans la section Schedule options (Options de programmation) :

    • Dans la liste Fréquence de répétition, sélectionnez une option pour spécifier la fréquence d'exécution de ce transfert. Pour spécifier une fréquence de répétition personnalisée, sélectionnez Personnalisée. Si vous sélectionnez À la demande, ce transfert s'exécute lorsque vous déclenchez manuellement le transfert.

    • Le cas échéant, sélectionnez Commencer ou Commencer à l'heure définie, puis indiquez une date de début et une heure d'exécution.

  6. Dans la section Paramètres de destination, pour le champ Ensemble de données de destination, choisissez l'ensemble de données que vous avez créé pour stocker vos données.

  7. Dans la section Data source details (Détails de la source de données), procédez comme suit :

    • Dans le champ Domaine personnalisé, saisissez un domaine de connexion personnalisé, le cas échéant.
    • Dans le champ Nom d'utilisateur, saisissez le nom d'utilisateur du compte Salesforce.
    • Dans le champ Mot de passe, saisissez le mot de passe du compte Salesforce.
    • Dans le champ Jeton de sécurité, saisissez le jeton de sécurité du compte Salesforce.
    • Sous ID client, saisissez la clé client de l'application connectée Salesforce.
    • Sous Code secret du client, saisissez le code secret du client de l'application connectée Salesforce.
    • Pour Objets Salesforce à transférer, cliquez sur Parcourir pour sélectionner les objets à transférer vers l'ensemble de données de destination BigQuery.

      • Vous pouvez également saisir manuellement dans ce champ les objets à inclure dans le transfert.

      Configurer une configuration de transfert Salesforce

  8. Dans la liste Compte de service, sélectionnez un compte de service associé à votre projet Google Cloud. Le compte de service sélectionné doit disposer des rôles requis pour exécuter ce transfert.

    Si vous vous êtes connecté avec une identité fédérée, vous devez disposer d'un compte de service pour créer un transfert. Si vous vous êtes connecté avec un compte Google, un compte de service pour le transfert est facultatif.

    Pour en savoir plus sur l'utilisation des comptes de service avec des transferts de données, consultez la page Utiliser des comptes de service.

  9. Facultatif : dans la section Options de notification, procédez comme suit :

    • Pour activer les notifications par e-mail, cliquez sur le bouton Notification par e-mail. Lorsque vous activez cette option, l'administrateur de transfert reçoit une notification par e-mail en cas d'échec de l'exécution du transfert.
    • Pour activer les notifications d'exécution de transfert Pub/Sub pour ce transfert, cliquez sur le bouton Notifications Pub/Sub. Vous pouvez sélectionner le nom de votre sujet ou cliquer sur Créer un sujet pour en créer un.
  10. Cliquez sur Enregistrer.

bq

Saisissez la commande bq mk, puis spécifiez l'indicateur de création de transfert --transfer_config.

bq mk \
    --transfer_config \
    --project_id=PROJECT_ID \
    --data_source=DATA_SOURCE \
    --display_name=NAME \
    --target_dataset=DATASET \
    --params='PARAMETERS'

Où :

  • PROJECT_ID (Facultatif) ID de votre projet Google Cloud. Si vous ne fournissez pas de --project_id afin de spécifier un projet particulier, le projet par défaut est utilisé.
  • DATA_SOURCE. La source de données – salesforce.
  • NAME : nom à afficher de la configuration de transfert. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert si vous devez le modifier ultérieurement.
  • DATASET : ensemble de données cible de la configuration de transfert.
  • PARAMETERS correspond aux paramètres de la configuration de transfert créée, au format JSON. Exemple : --params='{"param":"param_value"}'. Voici les paramètres d'un transfert Salesforce :

    • connector.authentication.oauth.clientId : ID client ou clé client de l'application connectée Salesforce.
    • connector.authentication.oauth.clientSecret : code secret du client OAuth ou du code secret client de l'application connectée Salesforce.
    • connector.customDomainName (facultatif) : domaine de connexion personnalisée Salesforce, le cas échéant. Laissez ce champ vide pour utiliser le domaine de connexion par défaut login.Salesforce.com.
    • connector.authentication.username : nom d'utilisateur du compte Salesforce.
    • connector.authentication.password : mot de passe du compte Salesforce.
    • connector.authentication.securityToken : jeton de sécurité du compte Salesforce.
    • assets : chemin d'accès aux objets Salesforce à transférer vers BigQuery.

Par exemple, la commande suivante crée un transfert Salesforce dans le projet par défaut avec tous les paramètres requis :

bq mk \
    --transfer_config \
    --target_dataset=mydataset \
    --data_source=salesforce \
    --display_name='My Transfer' \
    --params='{"assets":["Account"],
        "connector.authentication.oauth.clientId": "1234567890",
        "connector.authentication.oauth.clientSecret":"ABC12345",
        "connector.customDomainName":"MyDomainName",
        "connector.authentication.username":"user1@force.com",
        "Connector.authentication.password":"abcdef1234",
        "connector.authentication.securityToken":"a1hghbb44lnl465lbl75b",}'

API

Utilisez la méthode projects.locations.transferConfigs.create et fournissez une instance de la ressource TransferConfig.

Tarification

Le transfert de données Salesforce vers BigQuery est gratuit tant que cette fonctionnalité est disponible en version bêta.

Résoudre les problèmes liés à la configuration d'un transfert

Si vous rencontrez des problèmes lors de la configuration de votre transfert, consultez la section Problèmes de transfert Salesforce.

Étapes suivantes