Charger des données Salesforce Marketing Cloud dans BigQuery
Vous pouvez charger des données depuis Salesforce Marketing Cloud vers BigQuery à l'aide du connecteur du service de transfert de données BigQuery pour Salesforce Marketing Cloud. Le service de transfert de données BigQuery vous permet de planifier des jobs de transfert récurrents qui ajoutent vos dernières données Salesforce Marketing Cloud à BigQuery.
Limites
Les transferts de données Salesforce Marketing Cloud sont soumis aux limitations suivantes :
- Une seule exécution de transfert de données peut être active à la fois pour une configuration de transfert donnée. Si une deuxième exécution de transfert de données est planifiée avant la fin de la première, seule la première exécution de transfert de données sera effectuée. Toutes les autres exécutions de transfert de données qui chevauchent la première seront ignorées.
- Pour éviter les transferts ignorés dans une même 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.
- Si votre instance de VM et votre attachement réseau configurés se trouvent dans des régions différentes, des données peuvent être transférées entre 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, qui se trouve dans l'URI de base. Par exemple, dans l'URI de base d'authentification https://SUBDOMAIN.auth.marketingcloudapis.com/ , SUBDOMAIN est votre valeur de sous-domaine. |
instance |
Instance de serveur d'API, disponible dans l'URL une fois que vous vous êtes connecté à l'application Salesforce Marketing Cloud. La valeur de l'instance inclut "s" suivi d'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 Localiser la pile d'un compte Marketing Cloud. |
clientId |
ID client de l'intégration de l'API. Accédez à Configuration > Applications > Packages installés, puis cliquez sur le nom du package. L'ID client est indiqué 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 indiqué sous Composants. |
Configurer une liste d'adresses IP autorisées pour les transferts Salesforce Marketing Cloud
Vous devez configurer votre environnement Google Cloud et votre compte Salesforce Marketing Cloud pour ajouter des adresses IP spécifiques à la liste d'autorisation pour les transferts de données. Cela permet de s'assurer 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 réseau Google Cloud pour qu'il utilise une adresse IP statique :
- Configurez une traduction d'adresse réseau (NAT) publique avec une adresse IP statique dans votre réseau de cloud privé virtuel. CloudNAT doit être configuré dans la même région que l'ensemble de données de destination pour ce transfert de données.
- 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 votreGoogle Cloud NAT public pour les adresses IP de début et de fin de la plage d'adresses IP.
Une fois que vous avez configuré les plages d'adresses IP, vous pouvez spécifier l'adresse IP statique lorsque vous configurez votre configuration de transfert en sélectionnant votre attachement réseau dans le champ Attachement réseau.
Installer et configurer le package d'intégration de l'API Salesforce Marketing Cloud
Vous devez installer un package d'intégration d'API de type serveur à serveur dans Salesforce Marketing Cloud. Pour ce faire, installez un nouveau package 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 de l'API installé, vous devez ajouter les niveaux d'autorisation suivants :
- Accès :
Offline Access
- Adresse e-mail :
Read
- OTT :
Read
- Push :
Read
- SMS :
Read
- Web :
Read
- Documents et images :
Read
- Contenu enregistré :
Read
- Trajets :
Read
- Audiences :
Read
- Liste et abonnés :
Read
- Extensions de date :
Read
- Emplacements des fichiers
Read
- Événements de suivi :
Read
- Rappels :
Read
- Abonnements :
Read
- Campagne :
Read
- Composants :
Read
- Comptes :
Read
- Chaînes OTT :
Read
- Utilisateurs :
Read
Pour en savoir plus, consultez Niveaux d'autorisation pour l'intégration d'API.
Prérequis pour BigQuery
- Vérifiez que vous avez effectué toutes les actions requises pour activer le service de transfert de données BigQuery.
- Créez un ensemble de données BigQuery pour stocker vos données.
- Si vous avez l'intention de configurer des notifications d'exécution de transfert pour Pub/Sub, assurez-vous de disposer de l'autorisation Identity and Access Management (IAM)
pubsub.topics.setIamPolicy
. Les autorisations Pub/Sub ne sont pas nécessaires si vous ne configurez que des notifications par e-mail. Pour plus d'informations, consultez la page Notifications d'exécution du service de transfert de données BigQuery.
Rôles BigQuery requis
Pour obtenir les autorisations nécessaires pour créer un transfert de données 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 la page 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 un transfert à l'aide de l'une des options suivantes :
Console
Accédez à la page "Transferts de données" dans la console Google Cloud .
Cliquez sur
Créer un transfert.Dans la section Type de source, accédez à la liste déroulante Source, puis sélectionnez Salesforce Marketing Cloud.
Dans la section Data source details (Détails de la source de données), procédez comme suit :
- Dans le champ Sous-domaine de l'API, saisissez le sous-domaine de votre URI de base d'authentification.
- Dans le champ Instance d'API, saisissez l'instance d'API de l'URL après vous être connecté à l'application Marketing Cloud.
- Dans le champ ID client, saisissez l'ID client de votre package d'intégration de l'API.
- Dans le champ Code secret du client, saisissez le code secret du client de votre package d'intégration d'API.
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.
Dans la section Nom de la configuration de transfert, sous Nom à afficher, saisissez le nom du transfert de données.
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.
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.
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 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 : 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'APIconnector.instance
: valeur de l'instance d'APIconnector.authentication.oauth.clientId
: nom d'ID de l'application pour le client OAuth 2.0connector.authentication.oauth.clientSecret
: code secret de l'application pour le client OAuth
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 du transfert, le connecteur Salesforce Marketing Cloud déclenche automatiquement une exécution du transfert en fonction de l'option de planification que vous avez choisie. À chaque exécution du 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
Email
LinkSend
List
ListSubscriber
Subscriber
TriggeredSendDefinition
Pour exécuter manuellement un transfert de données en dehors de votre calendrier habituel, vous pouvez lancer 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 |
Date |
TIMESTAMP |
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 :
- Assurez-vous que l'authentification configurée pour le package d'intégration d'API est configurée sur Serveur à serveur.
- Assurez-vous que l'application d'authentification est configurée avec les autorisations requises sous Champ d'application.
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 :
- Activez toutes les adresses IP disponibles pour les ressources Google Cloud .
- Désactivez la liste d'autorisation d'adresses IP. Pour ce faire, connectez-vous à l'application Salesforce Marketing Cloud, puis accédez à la page Configuration > Paramètres de sécurité. Cliquez sur Modifier, puis configurez le paramètre Restrict Logins by IP Address (IP Allowlisting) (Restreindre les connexions par adresse IP (liste d'autorisation d'adresses IP)) sur IP Allowlisting Disabled (Liste d'autorisation d'adresses IP désactivée).
- 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.
Tarifs
Le transfert de données Salesforce Marketing Cloud vers BigQuery est gratuit tant que cette fonctionnalité est en version preview.
Étapes suivantes
- Pour une vue d'ensemble du service de transfert de données BigQuery, consultez la page Présentation du service de transfert de données BigQuery.
- Pour plus d'informations sur l'utilisation des transferts de données, y compris l'obtention d'informations sur une configuration de transfert, la liste des configurations de transfert et l'affichage de l'historique d'exécution d'un transfert, consultez la page Gérer les transferts.
- Découvrez comment charger des données avec des opérations multicloud.