Caricare i dati di Salesforce Marketing Cloud in BigQuery
Puoi caricare i dati da Salesforce Marketing Cloud a BigQuery utilizzando il connettore BigQuery Data Transfer Service per Salesforce Marketing Cloud. Con BigQuery Data Transfer Service, puoi pianificare job di trasferimento ricorrenti che aggiungono i dati più recenti di Salesforce Marketing Cloud a BigQuery.
Limitazioni
I trasferimenti di dati di Salesforce Marketing Cloud sono soggetti alle seguenti limitazioni:
- Una singola configurazione di trasferimento può supportare una sola esecuzione di trasferimento dei dati in un determinato
momento. Nel caso in cui sia pianificato l'esecuzione di un secondo trasferimento di dati prima del
completamento del primo, solo il primo trasferimento di dati viene completato, mentre
gli altri trasferimenti di dati che si sovrappongono al primo vengono ignorati.
- Per evitare trasferimenti ignorati all'interno di una singola configurazione di trasferimento, ti consigliamo di aumentare la durata di tempo tra i trasferimenti di grandi quantità di dati configurando la Frequenza di ripetizione.
- Se l'attestazione di rete e l'istanza di macchina virtuale (VM) configurate si trovano in regioni diverse, potrebbe verificarsi uno spostamento dei dati tra regioni quando trasferisci i dati da Salesforce Marketing Cloud.
Prima di iniziare
Le sezioni seguenti descrivono i passaggi da seguire prima di creare un trasferimento di dati di Salesforce Marketing Cloud.
Prerequisiti per Salesforce Marketing Cloud
Quando crei un trasferimento di dati di Salesforce Marketing Cloud, devi disporre delle seguenti informazioni:
Nome parametro | Descrizione |
---|---|
subdomain |
Il sottodominio API, che si trova nell'URI di base. Ad esempio, nell'URI di base di autenticazione https://SUBDOMAIN.auth.marketingcloudapis.com/ , SUBDOMAIN è il valore del sottodominio. |
instance |
L'istanza del server API, che si trova nell'URL dopo aver eseguito l'accesso all'applicazione Salesforce Marketing Cloud. Il valore dell'istanza include "s" seguito da un valore numerico. Ad esempio, nell'URL `https://mc.s4.exacttarget.com/`, il valore dell'istanza è `s4`. Per saperne di più, consulta Trovare la posizione dello stack per un account Marketing Cloud. |
clientId |
L'ID client dell'integrazione API. Vai a Impostazione > App > Pacchetti installati, quindi fai clic sul nome del pacchetto. L'ID client è elencato in Componenti. |
clientSecret |
Il client secret dell'integrazione dell'app. Vai a Impostazione > App > Pacchetti installati, quindi fai clic sul nome del pacchetto. Il client secret è elencato in Componenti. |
Configura la lista consentita IP per i trasferimenti da Salesforce Marketing Cloud
Devi configurare il tuo ambiente Google Cloud e il tuo account Salesforce Marketing Cloud per aggiungere indirizzi IP specifici alla lista consentita per i trasferimenti di dati. In questo modo, Salesforce Marketing Cloud accetta solo connessioni da un indirizzo IP statico attendibile.
Per farlo, devi prima configurare la tua rete Google Cloud in modo che utilizzi un indirizzo IP statico:
- Configura una Network Address Translation (NAT) pubblica con un indirizzo IP statico all'interno della tua rete Virtual Private Cloud. Cloud NAT deve essere configurato nella stessa regione del set di dati di destinazione per questo trasferimento di dati.
- Configura un collegamento di rete all'interno della stessa rete VPC. Questa risorsa viene utilizzata da BigQuery Data Transfer Service per accedere ai servizi privati.
Successivamente, devi aggiungere l'indirizzo IP statico alla lista consentita in Salesforce Marketing Cloud. Quando aggiungi l'intervallo dell'indirizzo IP, utilizza l'indirizzo IP statico del tuo Google Cloud NAT pubblico sia per l'indirizzo IP iniziale che per quello finale dell'intervallo IP.
Una volta configurati gli intervalli IP, puoi specificare l'IP statico quando configuri il trasferimento selezionando l'allegato di rete nel campo Allegato di rete.
Installa e configura il pacchetto di integrazione dell'API Salesforce Marketing Cloud
Devi installare un pacchetto di integrazione API da server a server in Salesforce Marketing Cloud. Puoi farlo in Salesforce Marketing Cloud installando un nuovo pacchetto installato e specificando il componente Integrazione API > Da server a server. Per saperne di più, consulta Creare e installare pacchetti.
Dopo aver installato il pacchetto di integrazione API, devi aggiungere i seguenti ambiti delle autorizzazioni:
- Accesso:
Offline Access
- Indirizzo email:
Read
- OTT:
Read
- Push:
Read
- SMS:
Read
- Web:
Read
- Documenti e immagini:
Read
- Contenuti salvati:
Read
- Viaggi:
Read
- Segmenti di pubblico:
Read
- Elenco e iscritti:
Read
- Estensioni di date:
Read
- Posizioni dei file
Read
- Eventi di monitoraggio:
Read
- Richiamate:
Read
- Abbonamenti:
Read
- Campagna:
Read
- Asset:
Read
- Account:
Read
- Canali OTT:
Read
- Utenti:
Read
Per saperne di più, consulta Ambiti delle autorizzazioni di integrazione API.
Prerequisiti di BigQuery
- Verifica di aver completato tutte le azioni necessarie per attivare BigQuery Data Transfer Service.
- Crea un set di dati BigQuery per archiviare i dati.
- Se intendi configurare le notifiche di esecuzione del trasferimento per Pub/Sub,
assicurati di disporre dell'autorizzazione Identity and Access Management (IAM)
pubsub.topics.setIamPolicy
. Le autorizzazioni Pub/Sub non sono necessarie se configuri solo le notifiche email. Per saperne di più, consulta Notifiche di esecuzione di BigQuery Data Transfer Service.
Ruoli BigQuery richiesti
Per ottenere le autorizzazioni
necessarie per creare un trasferimento di dati BigQuery Data Transfer Service,
chiedi all'amministratore di concederti il ruolo IAM
Amministratore BigQuery (roles/bigquery.admin
)
nel tuo progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un trasferimento di dati BigQuery Data Transfer Service. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare un trasferimento di dati di BigQuery Data Transfer Service sono necessarie le seguenti autorizzazioni:
-
Autorizzazioni BigQuery Data Transfer Service:
-
bigquery.transfers.update
-
bigquery.transfers.get
-
-
Autorizzazioni BigQuery:
-
bigquery.datasets.get
-
bigquery.datasets.getIamPolicy
-
bigquery.datasets.update
-
bigquery.datasets.setIamPolicy
-
bigquery.jobs.create
-
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Per maggiori informazioni, vedi Concedere l'accesso a bigquery.admin
.
Configura un trasferimento di dati di Salesforce Marketing Cloud
Aggiungi i dati di Salesforce Marketing Cloud a BigQuery configurando una configurazione del trasferimento utilizzando una delle seguenti opzioni:
Console
Vai alla pagina Trasferimenti di dati nella console Google Cloud .
Fai clic su
Crea trasferimento.Nella sezione Tipo di origine, per Origine, seleziona Salesforce Marketing Cloud.
Nella sezione Dettagli origine dati, segui questi passaggi:
- Per Sottodominio API, inserisci il sottodominio dell'URI di base di autenticazione.
- Per Istanza API, inserisci l'istanza API dall'URL dopo aver eseguito l'accesso all'applicazione Marketing Cloud.
- Per ID client, inserisci l'ID client del pacchetto di integrazione API.
- Per Client secret, inserisci il client secret dal pacchetto di integrazione API.
Nella sezione Impostazioni destinazione, per Set di dati, seleziona il set di dati che hai creato per archiviare i dati.
Nella sezione Nome configurazione di trasferimento, per Nome visualizzato, inserisci un nome per il trasferimento di dati.
Nella sezione Opzioni di pianificazione, segui questi passaggi:
- Nell'elenco Frequenza di ripetizione, seleziona un'opzione per specificare la frequenza con cui viene eseguito questo trasferimento di dati. Per specificare una frequenza di ripetizione personalizzata, seleziona Personalizzata. Se selezioni On demand, l'esecuzione avviene quando attivi manualmente il trasferimento.
- Se applicabile, seleziona Inizia ora o Inizia all'ora impostata e fornisci una data di inizio e un'ora di esecuzione.
(Facoltativo) Nella sezione Opzioni di notifica, segui questi passaggi:
- Per attivare le notifiche via email, fai clic sul pulsante di attivazione/disattivazione Notifica email. Quando attivi questa opzione, l'amministratore del trasferimento riceve una notifica via email quando l'esecuzione di un trasferimento non riesce.
- Per attivare le notifiche di esecuzione del trasferimento Pub/Sub per questo trasferimento, fai clic sul pulsante di attivazione/disattivazione Notifiche Pub/Sub. Puoi selezionare il nome del tuo argomento oppure fare clic su Crea un argomento per crearne uno.
Fai clic su Salva.
bq
Inserisci il comando bq mk
e fornisci il flag di creazione del trasferimento: --transfer_config
.
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=DISPLAY_NAME --target_dataset=DATASET --params='PARAMETERS'
Sostituisci quanto segue:
- PROJECT_ID (facoltativo): il tuo ID progetto Google Cloud .
Se non viene fornito
--project_id
per specificare un progetto particolare, viene utilizzato il progetto predefinito. - DATA_SOURCE: l'origine dati (ad esempio
saphana
). - DISPLAY_NAME: il nome visualizzato per la configurazione del trasferimento. Il nome del trasferimento dei dati può essere qualsiasi valore che ti consenta di identificare il trasferimento se devi modificarlo in un secondo momento.
- DATASET: il set di dati di destinazione per la configurazione del trasferimento.
- PARAMETERS: i parametri per la configurazione del trasferimento
creata in formato JSON. Ad esempio:
--params='{"param":"param_value"}'
. Di seguito sono riportati i parametri per un trasferimento da Salesforce Marketing Cloud:connector.subdomain
: il sottodominio dell'API.connector.instance
: il valore dell'istanza API.connector.authentication.oauth.clientId
: il nome dell'ID app per il client OAuth.connector.authentication.oauth.clientSecret
: il segreto dell'app per il client OAuth.
Ad esempio, il comando seguente crea un trasferimento di dati di Salesforce Marketing Cloud nel progetto predefinito con tutti i parametri richiesti:
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
Utilizza il metodo projects.locations.transferConfigs.create
e fornisci un'istanza della risorsa TransferConfig
.
Quando salvi la configurazione del trasferimento, il connettore Salesforce Marketing Cloud attiva automaticamente un'esecuzione del trasferimento in base all'opzione di pianificazione che hai scelto. A ogni esecuzione del trasferimento, il connettore Salesforce Marketing Cloud trasferisce tutti i dati disponibili da Salesforce Marketing Cloud in BigQuery nelle seguenti tabelle in base all'interfaccia REST:
Assets
CampaignAssets
Campaigns
Categories
EventDefinitions
FacebookMessengerProperties
JourneyActivities
Journeys
LineMessengerProperties
SendDefinitions
Subscriptions
DataExtension
Email
LinkSend
List
ListSubscriber
Subscriber
TriggeredSendDefinition
Per eseguire manualmente un trasferimento di dati al di fuori della pianificazione regolare, puoi avviare un'esecuzione di backfill.
Mappatura dei tipi di dati
La seguente tabella mappa i tipi di dati di Salesforce Marketing Cloud ai tipi di dati BigQuery corrispondenti.
Tipo di dati Salesforce Marketing Cloud | Tipo di dati BigQuery |
---|---|
Boolean |
BOOLEAN |
Number |
INTEGER |
Text |
STRING |
Decimal |
FLOAT |
EmailAddress |
STRING |
Phone |
STRING |
date |
DATE |
Date |
TIMESTAMP |
Risolvere i problemi di configurazione del trasferimento
Se hai problemi a configurare un trasferimento di dati di Salesforce Marketing Cloud, prova a seguire questi passaggi per la risoluzione dei problemi:
- Assicurati che l'autenticazione configurata per il pacchetto di integrazione API sia configurata su Server-to-server.
- Assicurati che l'app di autenticazione sia configurata con le autorizzazioni richieste in Ambito.
Messaggi di errore
- Errore:
invalid_grant. The client's IP address is unauthorized for this account. Allowlist the client's IP address in Marketing Cloud Administration.
Risoluzione:prova una delle seguenti operazioni:
- Attiva tutti gli indirizzi IP disponibili per le risorse Google Cloud .
- Disattiva la lista consentita IP. Per farlo, accedi all'applicazione Salesforce Marketing Cloud, quindi vai alla pagina Configurazione > Impostazioni di sicurezza. Fai clic su Modifica, poi configura l'impostazione Limita accessi per indirizzo IP (lista consentita IP) su Lista consentita IP disattivata.
- Errore:
INVALID_ARGUMENT. Table tableName does not exist in asset TableName
Risoluzione:assicurati di aver configurato le autorizzazioni di ambito corrette nell'applicazione Salesforce Marketing Cloud. Per ulteriori informazioni, consulta Prerequisiti di Salesforce Marketing Cloud.
Prezzi
Il trasferimento dei dati di Salesforce Marketing Cloud in BigQuery non prevede costi durante l'anteprima di questa funzionalità.
Passaggi successivi
- Per una panoramica di BigQuery Data Transfer Service, consulta Introduzione a BigQuery Data Transfer Service.
- Per informazioni sull'utilizzo dei trasferimenti di dati, tra cui come ottenere informazioni su una configurazione di trasferimento, elencare le configurazioni di trasferimento e visualizzare la cronologia di esecuzione di un trasferimento, consulta Gestire i trasferimenti.
- Scopri come caricare i dati con operazioni cross-cloud.