Charger des données Salesforce Marketing Cloud dans BigQuery

Vous pouvez charger des données de Salesforce Marketing Cloud dans BigQuery à l'aide du service de transfert de données BigQuery pour le connecteur Salesforce Marketing Cloud. Avec le service de transfert de données BigQuery, vous pouvez planifier des tâches de transfert récurrentes qui ajoutent vos dernières données de Salesforce Marketing Cloud à BigQuery.

Limites

Les transferts de données Salesforce Marketing Cloud sont soumis aux limites suivantes :

  • Une seule configuration de transfert peut accepter une seule exécution de transfert de données à un moment donné. Si une deuxième exécution de transfert de données est programmée avant la fin de la première, seule la première exécution de transfert de données se termine, tandis que toutes les autres exécutions de transfert de données qui se chevauchent avec la première sont ignorées.
    • Pour éviter les transferts ignorés dans une seule configuration de transfert, nous vous recommandons d'augmenter la durée entre les transferts de données volumineux en configurant la fréquence de répétition.
  • Pour utiliser un rattachement de réseau avec ce transfert de données, vous devez d'abord créer un rattachement de réseau en définissant une adresse IP statique.
  • Si le rattachement de réseau et l'instance de machine virtuelle (VM) que vous avez configurés se trouvent dans des régions différentes, il est possible que des données soient déplacées entre les régions lorsque vous transférez des données depuis Salesforce Marketing Cloud.

Avant de commencer

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

Conditions préalables pour Salesforce Marketing Cloud

Lors de la création d'un transfert Salesforce Marketing Cloud, vous devez disposer des informations suivantes :

Nom du paramètre Description
subdomain Sous-domaine de l'API, situé dans l'URI de base. Par exemple, dans l'authentification base URI https://SUBDOMAIN.auth.marketingcloudapis.com/, SUBDOMAIN est votre valeur de sous-domaine.
instance Instance du serveur d'API, située dans l'URL après vous être connecté à l' application Salesforce Marketing Cloud. La valeur de l'instance inclut `s` suivi de une valeur numérique. Par exemple, dans l'URL `https://mc.s4.exacttarget.com/`, la valeur de l'instance est `s4`. Pour en savoir plus, consultez Rechercher l'emplacement de la pile pour un compte Marketing Cloud.
clientId ID client de l'intégration d'API. Accédez à Configuration > Applications > Packages installés, puis cliquez sur le nom du package. L'ID client est répertorié sous Composants.
clientSecret Code secret du client d'intégration d'application. Accédez à Configuration > Applications > Packages installés, puis cliquez sur le nom du package. Le code secret du client est répertorié sous Composants.
Salesforce Marketing Cloud objects to transfer Compilez une liste d'objets Salesforce Marketing Cloud à inclure dans ce transfert. Vous pouvez sélectionner des objets lorsque vous configurez une configuration de transfert. Pour obtenir la liste des objets compatibles, consultez Tables compatibles.

Configurer une liste d'autorisation d'adresses IP pour les transferts Salesforce Marketing Cloud

Vous devez configurer votre Google Cloud environnement et votre compte Salesforce Marketing Cloud pour ajouter des adresses IP spécifiques à la liste d'autorisation pour les transferts de données. Cela garantit que Salesforce Marketing Cloud n'accepte que les connexions provenant d'une adresse IP statique de confiance.

Pour ce faire, vous devez d'abord configurer votre Google Cloud réseau pour qu'il utilise une adresse IP statique :

  1. Configurez une traduction d'adresse réseau (NAT) publique avec une adresse IP statique dans votre réseau Virtual Private Cloud. Le CloudNAT doit être configuré dans la même région que l'ensemble de données de destination pour ce transfert de données.
  2. Configurez un rattachement de réseau dans le même réseau VPC. Cette ressource est utilisée par le service de transfert de données BigQuery pour accéder aux services privés.

Ensuite, vous devez ajouter l'adresse IP statique à la liste d'autorisation dans Salesforce Marketing Cloud. Lorsque vous ajoutez la plage d'adresses IP, utilisez l'adresse IP statique de votre Google Cloud NAT publique pour les adresses IP de début et de fin de la plage d'adresses IP.

Une fois les plages d'adresses IP configurées, vous pouvez spécifier l'adresse IP statique lorsque vous configurez votre configuration de transfert en sélectionnant votre rattachement de réseau dans le champ Rattachement de réseau.

Exigences relatives aux objets d'extension de données

Pour inclure des objets d'extension de données dans votre transfert de données, l'objet doit répondre aux exigences suivantes :

  • Le nom de l'objet d'extension de données doit inclure le préfixe DataExtensionObject suivi du nom de l'objet. Par exemple, DataExtensionObject_DATA_EXTENSION_NAME.
  • Vous devez activer le champ d'application Read pour l'objet d'extension de données.
  • Les emplacements de fichier de l'objet d'extension de données doivent avoir les champs d'application Read et Write.

Installer et configurer le package d'intégration d'API Salesforce Marketing Cloud

Vous devez installer un package d'intégration d'API de serveur à serveur dans Salesforce Marketing Cloud. Pour ce faire, installez un nouveau package installé dans Salesforce Marketing Cloud et spécifiez le composant Intégration d'API > Serveur à serveur. Pour en savoir plus, consultez Créer et installer des packages.

Une fois le package d'intégration d'API installé, vous devez ajouter les champs d'application d'autorisation suivants :

  • Accès : Offline Access
  • Adresse e-mail : Read
  • OTT: Read
  • Notifications push : Read
  • SMS:Read
  • Web: Read
  • Documents et images : Read
  • Contenu enregistré : Read
  • Parcours : Read
  • Audiences: Read
  • Liste et abonnés : Read
  • Extensions de date : Read
  • Emplacements de fichier : Read
  • Événements de suivi : Read
  • Rappels : Read
  • Abonnements : Read
  • Campagne : Read
  • Éléments : Read
  • Comptes : Read
  • Chaînes OTT : Read
  • Utilisateurs : Read

Pour en savoir plus, consultez Champs d'application d'autorisation d'intégration d'API.

Prérequis pour BigQuery

Rôles BigQuery requis

Pour obtenir les autorisations nécessaires pour créer un transfert de données du service de transfert de données BigQuery, demandez à votre administrateur de vous accorder le rôle IAM Administrateur BigQuery (roles/bigquery.admin) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ce rôle prédéfini contient les autorisations requises pour créer un transfert de données du service de transfert de données BigQuery. 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 de données du service de transfert de données BigQuery :

  • Autorisations du service de transfert de données BigQuery :
    • bigquery.transfers.update
    • bigquery.transfers.get
  • Autorisations BigQuery :
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

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

Pour en savoir plus, consultez Accorder l'accès bigquery.admin.

Configurer un transfert de données Salesforce Marketing Cloud

Ajoutez des données Salesforce Marketing Cloud à BigQuery en configurant une configuration de transfert à l'aide de l'une des options suivantes :

Console

  1. Accédez à la page "Transferts de données" dans la Google Cloud console.

    Accéder à la page Transferts de données

  2. Cliquez sur Créer un transfert.

  3. Dans le champ Source de la section Type de source , sélectionnez Salesforce Marketing Cloud.

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

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

  6. Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez un nom pour le transfert de données.

  7. Dans la section Options de programmation, procédez comme suit :

    • 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 de données. Pour spécifier une fréquence de répétition personnalisée, sélectionnez Personnalisée. Si vous sélectionnez À la demande, le transfert s'exécute lorsque vous le déclenchez manuellement.
    • 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.
  8. 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 du transfert reçoit une notification par e-mail si l'exécution du transfert échoue.
    • 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.
  9. 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=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Remplacez les éléments suivants :

  • PROJECT_ID (facultatif) : ID de votre Google Cloud projet. Si vous ne fournissez pas de --project_id afin de spécifier un projet particulier, le projet par défaut est utilisé.
  • DATA_SOURCE : source de données (par exemple, saphana).
  • DISPLAY_NAME : nom à afficher de la configuration de transfert. Ce nom peut correspondre à toute valeur permettant d'identifier le transfert de données 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 Marketing Cloud :
    • connector.subdomain : sous-domaine de l'API
    • connector.instance : valeur de l'instance d'API
    • connector.authentication.oauth.clientId : nom d'ID de l'application pour le client OAuth 2.0
    • connector.authentication.oauth.clientSecret : code secret de l'application pour le client OAuth
    • assets: liste des noms des tables Salesforce Marketing Cloud à transférer depuis Salesforce Marketing Cloud dans le cadre du transfert.

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

  bq mk
      --transfer_config
      --target_dataset=mydataset
      --data_source=salesforce_marketing
      --display_name='My Transfer'
      --params='{"connector.subdomain": "abcd",
      "connector.instance": "x",
      "connector.authentication.oauth.clientId": "1234567890",
      "connector.authentication.oauth.clientSecret":"ABC12345"}'

API

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

Lorsque vous enregistrez la configuration de transfert, le connecteur Salesforce Marketing Cloud déclenche automatiquement une exécution de transfert en fonction de votre option de programmation.

Tables compatibles

À chaque exécution de transfert, le connecteur Salesforce Marketing Cloud transfère toutes les données disponibles de Salesforce Marketing Cloud vers BigQuery dans les tables suivantes en fonction de l'interface REST :

  • Assets
  • CampaignAssets
  • Campaigns
  • Categories
  • EventDefinitions
  • FacebookMessengerProperties
  • JourneyActivities
  • Journeys
  • LineMessengerProperties
  • SendDefinitions
  • Subscriptions
  • DataExtension
  • DataExtensionObject_DATA_EXTENSION_NAME
  • Email
  • LinkSend
  • List
  • ListSubscriber
  • Subscriber
  • TriggeredSendDefinition

Pour exécuter manuellement un transfert de données en dehors de votre programmation habituelle, vous pouvez démarrer une exécution de remplissage.

Mappage des types de données

Le tableau suivant mappe les types de données Salesforce Marketing Cloud aux types de données BigQuery correspondants.

Type de données Salesforce Marketing Cloud Type de données BigQuery
Boolean BOOLEAN
Number INTEGER
Text STRING
Decimal FLOAT
EmailAddress STRING
Phone STRING
Date DATE
DateTime TIMESTAMP
Locale STRING

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

Si vous rencontrez des problèmes lors de la configuration d'un transfert de données Salesforce Marketing Cloud, essayez les étapes de dépannage suivantes :

Messages d'erreur

Erreur : invalid_grant. The client's IP address is unauthorized for this account. Allowlist the client's IP address in Marketing Cloud Administration.

Solution : essayez l'une des étapes suivantes :

Erreur : INVALID_ARGUMENT. Table tableName does not exist in asset TableName

Résolution : assurez-vous que les autorisations de champ d'application appropriées sont configurées dans l'application Salesforce Marketing Cloud. Pour en savoir plus, consultez la section Prérequis pour Salesforce Marketing Cloud.

Erreur : FAILED_PRECONDITION: There was an issue connecting to API.

Résolution : cette erreur peut se produire lorsque vous incluez un rattachement de réseau dans votre transfert, mais que vous n'avez pas configuré votre NAT publique ni votre liste d'autorisation d'adresses IP. Pour résoudre cette erreur, suivez les étapes décrites dans Créer un rattachement de réseau et créez votre rattachement de réseau en définissant une adresse IP statique.

Tarifs

Pour obtenir des informations sur les tarifs des transferts Salesforce Marketing Cloud, consultez Tarifs du service de transfert de données.

Étape suivante