Caricare i dati di Salesforce in BigQuery
Puoi caricare i dati da Salesforce a BigQuery utilizzando il connettore BigQuery Data Transfer Service per Salesforce. Con BigQuery Data Transfer Service, puoi pianificare job di trasferimento ricorrenti che aggiungono i tuoi dati più recenti da Salesforce a BigQuery.
Limitazioni
I trasferimenti di dati Salesforce sono soggetti alle seguenti limitazioni:
- BigQuery Data Transfer Service per Salesforce supporta solo l'API Salesforce Bulk per connettersi all'istanza Salesforce e solo il trasferimento di entità supportate dall'API Salesforce Bulk. Per maggiori informazioni sulle entità supportate, vedi Errore "L'entità non è supportata dall'API Bulk".
- L'intervallo di tempo minimo tra i trasferimenti di dati ricorrenti è di 15 minuti. L'intervallo predefinito per un trasferimento ricorrente è di 24 ore.
- BigQuery Data Transfer Service utilizza l'API Salesforce Bulk v1 per connettersi all'endpoint Salesforce per recuperare i dati.
- Se l'attacco di rete e l'istanza di macchina virtuale (VM) configurati si trovano in regioni diverse, potrebbe verificarsi uno spostamento dei dati tra regioni quando trasferisci i dati da Salesforce.
Prima di iniziare
Le sezioni seguenti descrivono i passaggi da seguire prima di creare un trasferimento di dati Salesforce.
Creare un'app connessa a Salesforce
Devi creare un'app connessa Salesforce con le seguenti configurazioni richieste:
- Configura le informazioni di base nell'app connessa. I campi Nome app connessa ed Email di contatto sono obbligatori per un trasferimento Salesforce.
- Attiva le impostazioni OAuth
con le seguenti configurazioni:
- Seleziona la casella di controllo Abilita impostazioni OAuth.
- Nel campo URL di callback, inserisci quanto segue:
- Per un ambiente di produzione, inserisci
https://login.salesforce.com/services/oauth2/token
. - Per un ambiente sandbox, inserisci
https://test.salesforce.com/services/oauth2/token
.
- Per un ambiente di produzione, inserisci
- Nella sezione Ambiti OAuth selezionati, seleziona Gestisci i dati utente tramite API (api).
- Deseleziona la casella di controllo Estensione Proof Key for Code Exchange (PKCE) obbligatoria per i flussi di autorizzazione supportati.
- Seleziona Attiva flusso di credenziali client, quindi fai clic su Ok nella notifica visualizzata.
Dopo aver configurato l'app collegata con le configurazioni richieste, fai clic su Salva. Verrà visualizzata la pagina dei dettagli dell'app connessa appena creata.
Dopo aver creato l'app connessa, devi anche configurare il flusso delle credenziali client procedendo nel seguente modo:
- Fai clic su Configurazione.
- Nella barra di ricerca, cerca App collegate.
- Fai clic su Gestisci app > App collegate. Se utilizzi Salesforce Lightning Experience, fai clic su Gestisci app connesse.
- Nell'app connessa che hai creato, fai clic su Modifica.
- Viene visualizzata la pagina Dettagli app. Nella sezione Flusso delle credenziali client, inserisci il tuo nome utente nel campo Esegui come. Puoi utilizzare lo strumento di ricerca in questo campo per assicurarti di aver selezionato l'utente corretto.
- Fai clic su Salva.
Informazioni Salesforce richieste
Quando crei un trasferimento di dati Salesforce, devi disporre delle seguenti informazioni di Salesforce:
Nome parametro | Descrizione |
---|---|
myDomain |
Il tuo Il mio dominio in Salesforce. |
clientId |
Chiave utente dell'applicazione collegata a Salesforce. |
clientSecret |
Client secret OAuth o secret consumer dell'applicazione collegata a Salesforce. |
Per ottenere i valori di myDomain
, clientID
e clientSecret
,
seleziona una delle seguenti opzioni:
Salesforce Classic
Recuperare i dettagli di myDomain
Per trovare il tuo myDomain
:
- Accedi alla piattaforma Salesforce.
- Fai clic su Configurazione.
- Nella barra di ricerca, cerca Il mio dominio.
- Nei risultati di ricerca, fai clic su Domain Management (Gestione dominio) > My Domain (Il mio dominio).
Nella sezione Dettagli del mio dominio, il tuo myDomain
viene visualizzato come
prefisso nell'URL corrente di My Domain. Ad esempio, se l'URL del dominio è
example.my.salesforce.com
, il valore myDomain
da utilizzare è example
.
Recupera i dettagli di ClientId
e ClientSecret
Per trovare i valori di ClientId
e ClientSecret
:
- Accedi alla piattaforma Salesforce.
- Fai clic su Configurazione.
- Nella barra di ricerca, cerca App.
- Nella sezione Crea dei risultati di ricerca, fai clic su Crea > App.
- Fai clic su un nome di app collegata.
- Nella pagina dei dettagli App collegate, fai clic su Gestisci i dettagli del consumatore.
- Verifica la tua identità utilizzando uno dei metodi registrati. Puoi visualizzare la pagina dei dettagli del consumatore per un massimo di cinque minuti prima che ti venga chiesto di verificare nuovamente la tua identità.
- Nella pagina Dettagli utente, la Consumer Key è il valore di
ClientId
. Il Customer Secret è il tuo valoreClientSecret
.
Salesforce Lightning Experience
Recuperare i dettagli di myDomain
Per trovare il tuo myDomain
:
- Accedi alla piattaforma Salesforce.
- Fai clic su Configurazione.
- Nella barra di ricerca, cerca Il mio dominio.
- Nei risultati di ricerca, fai clic su Impostazioni azienda > Il mio dominio.
Nella sezione Dettagli del mio dominio, il tuo myDomain
viene visualizzato come
prefisso nell'URL corrente di My Domain. Ad esempio, se l'URL del dominio è
example.my.salesforce.com
, il valore myDomain
da utilizzare è example
.
Recupera i dettagli di ClientId
e ClientSecret
- Accedi alla piattaforma Salesforce.
- Fai clic su Configurazione.
- Nella barra di ricerca, cerca App.
- Nei risultati di ricerca, fai clic su App > Gestione app.
- Trova un'app collegata e fai clic su Visualizza.
- Fai clic su Gestisci i dettagli del consumer.
- Verifica la tua identità utilizzando uno dei metodi registrati. Puoi visualizzare la pagina dei dettagli del consumatore per un massimo di cinque minuti prima che ti venga chiesto di verificare nuovamente la tua identità.
- Nella pagina Dettagli utente, la Consumer Key è il valore di
ClientId
. Il Customer Secret è il tuo valoreClientSecret
.
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, chiedi all'amministratore di concederti il ruolo IAM BigQuery Admin (roles/bigquery.admin
).
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. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare un trasferimento sono necessarie le seguenti autorizzazioni:
-
bigquery.transfers.update
sull'utente -
bigquery.datasets.get
sul set di dati di destinazione -
bigquery.datasets.update
sul set di dati di destinazione
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Configura un trasferimento di dati Salesforce
Per creare un trasferimento di dati Salesforce:
Console
Vai alla pagina Trasferimenti di dati nella console Google Cloud .
Fai clic su
Crea trasferimento.Nella sezione Tipo di origine, per Origine, scegli Salesforce.
Nella sezione Dettagli origine dati, segui questi passaggi:
- Per Il mio dominio, inserisci Il mio dominio di Salesforce.
- Per ID client, inserisci la chiave utente dell'applicazione collegata a Salesforce.
- Per Client secret, inserisci il secret consumer dell'applicazione collegata a Salesforce.
Per Oggetti Salesforce da trasferire, fai clic su Sfoglia per selezionare gli oggetti da trasferire al set di dati di destinazione BigQuery. In questo campo puoi anche inserire manualmente gli oggetti da includere nel trasferimento di dati.
Nella sezione Impostazioni destinazione, in Set di dati, scegli 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:
- 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=NAME --target_dataset=DATASET --params='PARAMETERS'
Dove:
- (Facoltativo) PROJECT_ID: 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
salesforce
. - NAME: il nome visualizzato per la configurazione del trasferimento dei dati. Il nome del trasferimento 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 creato in formato JSON. Ad esempio:
--params='{"param":"param_value"}'
. Di seguito sono riportati i parametri per un trasferimento di dati Salesforce:connector.authentication.oauth.clientId
: la chiave utente dell'applicazione collegata a Salesforce.connector.authentication.oauth.clientSecret
: client secret OAuth o consumer secret dell'applicazione connessa a Salesforce.connector.authentication.oauth.myDomain
: il Mio dominio Salesforce. Ad esempio, se l'URL del tuo dominio èexample.my.salesforce.com
, il valore èexample
.assets
: il percorso degli oggetti Salesforce da trasferire a BigQuery.
Ad esempio, il seguente comando crea un trasferimento di dati Salesforce nel progetto predefinito con tutti i parametri richiesti:
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.authentication.oauth.myDomain":"MyDomainName",}'
API
Utilizza il metodo projects.locations.transferConfigs.create
e fornisci un'istanza della risorsa TransferConfig
.
Mappatura dei tipi di dati
La seguente tabella mappa i tipi di dati di Salesforce con i corrispondenti tipi di dati di BigQuery:
Tipo di dati Salesforce | Tipo di dati BigQuery |
---|---|
_bool |
BOOLEAN |
_int |
INTEGER |
_long |
INTEGER |
_double |
FLOAT |
currency |
FLOAT |
percent |
FLOAT |
geolocation (latitude) |
FLOAT |
geolocation (longitude) |
FLOAT |
date |
DATE |
datetime |
TIMESTAMP |
time |
TIME |
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 |
Prezzi
Il trasferimento dei dati Salesforce in BigQuery non prevede costi durante l'anteprima di questa funzionalità.
Risolvere i problemi di configurazione del trasferimento
Se riscontri problemi durante la configurazione del trasferimento dei dati, consulta Problemi di trasferimento di Salesforce.
Passaggi successivi
- Per una panoramica di BigQuery Data Transfer Service, consulta Introduzione a BigQuery Data Transfer Service.
- Per informazioni sull'utilizzo dei trasferimenti, inclusi i dettagli su una configurazione di trasferimento, l'elenco delle configurazioni di trasferimento e la visualizzazione della cronologia di esecuzione di un trasferimento, consulta Utilizzo dei trasferimenti.
- Scopri come caricare i dati con operazioni cross-cloud.