Pianificare un trasferimento di Salesforce

Il connettore BigQuery Data Transfer Service per Salesforce consente di pianificare e gestire automaticamente i job di caricamento ricorrenti da Salesforce a BigQuery.

Limitazioni

I trasferimenti di dati di 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 delle entità supportate dall'API Salesforce Bulk. Per maggiori informazioni sulle entità supportate, consulta l'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 la versione 1 dell'API Salesforce Bulk per connettersi all'endpoint Salesforce e recuperare i dati.

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 collegata Salesforce con le seguenti configurazioni richieste:

  • Configura le informazioni di base nell'app collegata. I campi Nome dell'app collegata e Indirizzo email di contatto sono obbligatori per un trasferimento a Salesforce.
  • Attiva le impostazioni OAuth con le seguenti configurazioni:
    • Seleziona la casella di controllo Attiva 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.
  • 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 e poi 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 collegata appena creata.

Dopo aver creato l'app collegata, devi anche configurare il flusso delle credenziali del client nel seguente modo:

  1. Fai clic su Configurazione.
  2. Nella barra di ricerca, cerca App collegate.
  3. Fai clic su Gestisci app > App collegate. Se utilizzi la Lightning Experience di Salesforce, fai clic su Gestisci app collegate.
  4. Nell'app connessa che hai creato, fai clic su Modifica.
  5. 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.
  6. Fai clic su Salva.

Informazioni obbligatorie di Salesforce

Quando crei un trasferimento di dati Salesforce, devi disporre delle seguenti informazioni di Salesforce:

Nome parametro Descrizione
myDomain Il mio dominio in Salesforce.
clientId Consumer Key dell'applicazione collegata a Salesforce.
clientSecret

Client secret OAuth o secret utente dell'applicazione collegata a Salesforce.

Per ottenere i valori myDomain, clientID e clientSecret, seleziona una delle seguenti opzioni:

Salesforce Classic

Recupera i dettagli di myDomain

Per trovare il tuo myDomain:

  1. Accedi alla piattaforma Salesforce.
  2. Fai clic su Configurazione.
  3. Nella barra di ricerca, cerca Il mio dominio.
  4. Nei risultati di ricerca, fai clic su Gestione dominio > Il mio dominio.

Nella sezione Dettagli del mio dominio, myDomain viene visualizzato come prefisso in URL attuale del mio dominio. Ad esempio, se l'URL del mio dominio è example.my.salesforce.com, il valore myDomain da utilizzare è example.

Recupera i dettagli di ClientId e ClientSecret

Per trovare i valori ClientId e ClientSecret:

  1. Accedi alla piattaforma Salesforce.
  2. Fai clic su Configurazione.
  3. Nella barra di ricerca, cerca App.
  4. Nella sezione Crea dei risultati di ricerca, fai clic su Crea > App.
  5. Fai clic su un nome dell'app collegata.
  6. Nella pagina dei dettagli App collegate, fai clic su Gestisci dettagli consumatore.
  7. 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 di nuovo la tua identità.
  8. Nella pagina Dettagli consumatore, la Chiave consumer è il valore ClientId. Il Customer Secret è il valore ClientSecret.

Salesforce Lightning Experience

Recupera i dettagli di myDomain

Per trovare il tuo myDomain:

  1. Accedi alla piattaforma Salesforce.
  2. Fai clic su Configurazione.

Apri la pagina Configurazione nella piattaforma Salesforce.

  1. Nella barra di ricerca, cerca Il mio dominio.
  2. Nei risultati di ricerca, fai clic su Impostazioni dell'azienda > Il mio dominio.

Nella sezione Dettagli del mio dominio, myDomain viene visualizzato come prefisso in URL attuale del mio dominio. Ad esempio, se l'URL del mio dominio è example.my.salesforce.com, il valore myDomain da utilizzare è example.

Recupera i dettagli di ClientId e ClientSecret

  1. Accedi alla piattaforma Salesforce.
  2. Fai clic su Configurazione.
  3. Nella barra di ricerca, cerca App.
  4. Nei risultati di ricerca, fai clic su App > Gestore app.
  5. Trova un'app collegata e fai clic su Visualizza.
  6. Fai clic su Gestisci dettagli del consumatore.
  7. 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 di nuovo la tua identità.
  8. Nella pagina Dettagli consumatore, la Chiave consumer è il valore ClientId. Il Customer Secret è il valore ClientSecret.

Prerequisiti di BigQuery

Ruoli BigQuery obbligatori

Per ottenere le autorizzazioni necessarie per creare un trasferimento, chiedi all'amministratore di concederti il ruolo IAM Amministratore BigQuery (roles/bigquery.admin). Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un trasferimento. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:

Autorizzazioni obbligatorie

Per creare un trasferimento sono necessarie le seguenti autorizzazioni:

  • bigquery.transfers.update sull'utente
  • bigquery.datasets.get nel set di dati di destinazione
  • bigquery.datasets.update nel set di dati di destinazione

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Configurare un trasferimento di dati di Salesforce

Per creare un trasferimento di dati Salesforce:

Console

  1. Vai alla pagina Trasferimenti dati nella console Google Cloud.

    Vai a Trasferimenti dati

  2. Fai clic su Crea trasferimento.

  3. Nella sezione Tipo di origine, in Origine, scegli Salesforce.

  4. Nella sezione Dettagli origine dati:

    • In Il mio dominio, inserisci Il mio dominio di Salesforce.
    • In ID client, inserisci la chiave consumer dell'applicazione collegata a Salesforce.
    • In Client secret, inserisci il segreto consumer dell'applicazione collegata a Salesforce.
    • Per gli 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 dei dati.

      Configurare una configurazione di trasferimento di Salesforce

  5. Nella sezione Impostazioni di destinazione, per Set di dati, scegli il set di dati che hai creato per archiviare i dati.

  6. Nella sezione Nome configurazione di trasferimento, in Nome visualizzato, inserisci un nome per il trasferimento dei dati.

  7. Nella sezione Opzioni di programmazione:

    • 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, questo trasferimento viene eseguito 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.

  8. Nell'elenco Account di servizio, seleziona un account di servizio associato al tuo progetto Google Cloud. L'account di servizio selezionato deve avere i ruoli richiesti per eseguire questo trasferimento di dati.

    Se hai eseguito l'accesso con un'identità federata, è necessario un account di servizio per creare un trasferimento di dati. Se hai eseguito l'accesso con un Account Google, un account di servizio per il trasferimento è facoltativo.

    Per ulteriori informazioni sull'utilizzo degli account di servizio con i trasferimenti di dati, consulta Utilizzare gli account di servizio.

  9. (Facoltativo) Nella sezione Opzioni di notifica, segui questi passaggi:

    • Per attivare le notifiche via email, fai clic sull'opzione di attivazione/disattivazione Notifica via email. Quando attivi questa opzione, l'amministratore dei trasferimenti riceve una notifica via email quando un'esecuzione del trasferimento non va a buon fine.
    • 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.
  10. Fai clic su Salva.

bq

Inserisci il comando bq mk e specifica 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:

  • PROJECT_ID (facoltativo): l'ID del tuo progetto Google Cloud. Se non viene fornito --project_id per specificare un determinato progetto, 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 creata in formato JSON. Ad esempio: --params='{"param":"param_value"}'. Di seguito sono riportati i parametri per un trasferimento di dati di Salesforce:

    • connector.authentication.oauth.clientId: la chiave consumer dell'applicazione collegata a Salesforce.
    • connector.authentication.oauth.clientSecret: client secret OAuth o consumer secret dell'applicazione collegata 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.

Prezzi

Il trasferimento dei dati di Salesforce in BigQuery non prevede alcun costo mentre questa funzionalità è in anteprima.

Risolvere i problemi di configurazione del trasferimento

Se hai problemi a configurare il trasferimento dei dati, consulta Problemi di trasferimento di Salesforce.

Passaggi successivi