Origine batch Salesforce

Questa pagina descrive come caricare i dati da sObject Salesforce in Google Cloud con Cloud Data Fusion. Il plug-in dell'origine batch di Salesforce legge gli sObject da Salesforce. Gli sObject sono le tabelle di Salesforce da cui prevedi di eseguire il pull. Alcuni esempi di sObject includono opportunità, contatti, account, lead e oggetti personalizzati.

Il plug-in per l'origine batch di Salesforce supporta la lettura dei dati con le query SOQL (Salesforce Object Query Language) e i filtri delle date incrementali o di intervallo.

Prima di iniziare

  • L'origine batch Salesforce di Cloud Data Fusion utilizza l'API collettiva Salesforce V1.
  • Imposta Salesforce prima di eseguire il deployment e utilizzare il plug-in Salesforce per Cloud Data Fusion. Per ulteriori informazioni, consulta Creare un'app connessa di Salesforce per Cloud Data Fusion.

Configura il plug-in

  1. Vai all'interfaccia web di Cloud Data Fusion e fai clic su Studio.
  2. Verifica che l'opzione pipeline di dati - Batch sia selezionata (non In tempo reale).
  3. Nel menu Origine, fai clic su Salesforce. Il nodo Salesforce viene visualizzato nella pipeline. Se non vedi l'origine Salesforce nella pagina Studio, esegui il deployment dei plug-in Salesforce dall'hub di Cloud Data Fusion.
  4. Per configurare l'origine, vai al nodo Salesforce e fai clic su Proprietà.
  5. Inserisci le seguenti proprietà. Per un elenco completo, consulta Proprietà.

    1. Inserisci un'etichetta per il nodo Salesforce, ad esempio Salesforce tables.
    2. Inserisci un Nome di riferimento per l'origine Salesforce per la derivazione, ad esempio Salesforce tables.
    3. Inserisci i dettagli della connessione. Puoi configurare una nuova connessione una tantum o una connessione riutilizzabile esistente.

      Nuova connessione

      Per aggiungere una connessione una tantum a Salesforce, segui questi passaggi:

      1. Mantieni disattivata l'opzione Utilizza connessione.
      2. Nella sezione Connessione, inserisci in questi campi le seguenti informazioni dall'account Salesforce:

        • Nome utente
        • Password
        • Security token (Token di sicurezza)
        • Consumer key (Chiave consumer)
        • Consumer secret (Secret consumer)

        Per ottenere le credenziali da Salesforce, consulta Ottenere le proprietà da Salesforce.

      Connessione riutilizzabile

      Per riutilizzare una connessione esistente, segui questi passaggi:

      1. Attiva Utilizza connessione.
      2. Fai clic su Browse connections (Sfoglia connessioni).
      3. Fai clic sul nome della connessione.

      4. (Facoltativo) Se non esiste una connessione e vuoi creare una nuova connessione riutilizzabile, fai clic su Aggiungi connessione e fai riferimento ai passaggi nella scheda Nuova connessione.

    4. Inserisci il Nome SObject per caricare tutte le colonne dell'oggetto.

    5. Facoltativo: se selezioni il nome dello sObject, puoi filtrare i dati con i campi seguenti:

      • Ultima modifica dopo: include solo i record modificati l'ultima volta dopo un determinato periodo di tempo.
      • Ultima modifica prima: includi solo i record la cui ultima modifica è stata apportata prima di un determinato orario.
      • Durata: includi solo i record modificati per l'ultima volta in una finestra temporale delle dimensioni specificate.
      • Offset: includi solo i record in cui la data dell'ultima modifica è inferiore all'ora di inizio logica della pipeline, meno l'offset specificato.
    6. (Facoltativo) Per gli sObject supportati, per migliorare le prestazioni di una pipeline, attiva Abilita chunking PK. Per maggiori informazioni, consulta Migliorare le prestazioni con la suddivisione dei PK.

    7. (Facoltativo) Anziché specificare il nome dello sObject, puoi inserire una query SOQL, ad esempio SELECT LastName from Contact. Per maggiori informazioni, consulta Query SOQL per l'origine Salesforce.

    8. Per testare la connettività, fai clic su Ottieni schema. Cloud Data Fusion si connette a Salesforce ed estrae lo schema per la tabella elencata (tecnicamente, uno sObject).

Proprietà

Proprietà Macro attivata Proprietà obbligatoria Descrizione
Nome di riferimento No Utilizzato per identificare in modo univoco questa origine per attività come derivazione e annotazione dei metadati.
Usa connessione No No Utilizza una connessione esistente. Se viene utilizzata una connessione, non è necessario fornire le credenziali.
Sfoglia connessioni No Nome della connessione da utilizzare.
Nome utente Nome utente Salesforce.
Password Password Salesforce.
Token di sicurezza No Token di sicurezza di Salesforce. Se la password non contiene il token di sicurezza, Cloud Data Fusion aggiunge il token prima dell'autenticazione con Salesforce.
Chiave utente Chiave utente applicazione. È anche chiamato ID client OAuth. Per ottenere una chiave utente, crea un'applicazione connessa a Salesforce.
Consumer secret Segreto dell'utente dell'applicazione. Questo è anche chiamato client secret OAuth. Per ottenere un client secret, crea un'applicazione connessa a Salesforce.
URL di accesso URL di accesso OAuth2 di Salesforce.
Il valore predefinito è https://login.salesforce.com/services/oauth2/token
Timeout della connessione No Il tempo massimo, in millisecondi, per l'attesa dell'inizializzazione della connessione prima del timeout.
Il valore predefinito è 30.000 millisecondi.
URL del proxy No URL del proxy, che contiene un protocollo, un indirizzo e una porta.
SOQL No Una query SOQL per recuperare i dati nell'origine.
Esempi:
  • SELECT Id, Name, BillingCity FROM Account
  • SELECT Id FROM Contact WHERE Name LIKE 'A%' AND MailingCity = 'California'
Nome SObject No Nome dell'oggetto Salesforce da leggere. Se viene fornito un valore, il connettore riceve tutti i campi dell'oggetto da Salesforce e genera una query SOQL, ad esempio select FIELD_1, FIELD_2 from ${sObjectName}. Ignorato se viene fornita una query SOQL.
Inoltre, alcuni sObject non sono supportati nell'API collettiva Salesforce. La creazione di un job con un oggetto non supportato causa il seguente errore: Entity is not supported by the Bulk API. Inoltre, questi oggetti non sono supportati da Einstein Analytics, che utilizza l'API Bulk per eseguire query sui dati.
Casi in cui non viene utilizzata l'API BULK: quando la lunghezza della query invia la query a Salesforce per ricevere l'array di informazioni batch, l'API collettiva non viene utilizzata in un solo caso. Se la query rientra nel limite, esegue la query originale. In caso contrario, passa alla logica degli oggetti Wide. Ad esempio, genera una query ID che recupera solo le informazioni batch per gli ID che verranno utilizzati in seguito per recuperare i dati tramite l'API SOAP.
Ultima modifica dopo il giorno No Filtra i dati per includere solo i record in cui il campo di sistema, LastModifiedDate, è maggiore o uguale alla data specificata. Utilizza il formato data di Salesforce (vedi esempi). Se non viene specificato alcun valore, non viene applicata alcuna data del limite inferiore.
Ultima modifica prima del giorno No Filtra i dati per includere solo i record in cui il campo del sistema, LastModifiedDate, è inferiore alla data specificata. Utilizza il formato data di Salesforce (vedi gli esempi). Se specifichi questo valore con la proprietà Ultima modifica dopo, puoi leggere i dati modificati in un determinato periodo di tempo. Se non viene specificato alcun valore, non viene applicata alcuna data del limite superiore.
Durata No Filtra i dati per leggere solo i record che sono stati modificati l'ultima volta entro una finestra di tempo delle dimensioni specificate. Ad esempio, se la durata è 6 hours e la pipeline viene eseguita alle 09:00, leggerà i dati l'ultimo aggiornamento dalle 03:00 (incluse) alle 09:00 (escluse). Specifica la durata con numeri e le seguenti unità di tempo:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
È possibile specificare più unità, ma ciascuna può essere utilizzata una sola volta. Ad esempio, 2 days, 1 hours, 30 minutes. Se un valore è già specificato in Ultima modifica dopo o Ultima modifica prima, la durata viene ignorata.
Offset No Filtra i dati per leggere solo i record in cui il campo del sistema, LastModifiedDate, è inferiore all'ora di avvio logico della pipeline, meno l'offset specificato. Ad esempio, se la durata è 6 hours, l'offset è 1 hours e la pipeline viene eseguita alle 09:00, i dati modificati l'ultima volta tra le 02:00 (inclusa) e le 08:00 (esclusa) vengono letti.
Specifica la durata utilizzando numeri e le seguenti unità di tempo:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
È possibile specificare più unità, ma ciascuna può essere utilizzata una sola volta. Ad esempio, 2 days, 1 hours, 30 minutes. Se è già specificato un valore in Ultima modifica dopo o Ultima modifica prima, l'offset viene ignorato.
Tipo di operazione SOQL No No Specifica l'operazione di query da eseguire sulla tabella. Se è selezionata una query, vengono restituiti solo i record attuali. La selezione di queryAll restituisce tutti i record correnti ed eliminati.
L'operazione predefinita è query.
Attiva chunking PK No La suddivisione della chiave primaria (PK) suddivide una query su tabelle di grandi dimensioni in parti o blocchi, in base agli ID record, o chiavi primarie, dei record sottoposti a query.
Salesforce consiglia di abilitare la suddivisione in blocchi PK quando si eseguono query su tabelle con più di 10 milioni di record o quando una query collettiva scade costantemente. Per maggiori informazioni, consulta Blocco di PK. La suddivisione PK funziona solo con query che non includono clausole SELECT o condizioni diverse da WHERE. Il blocco è supportato per gli oggetti personalizzati e per qualsiasi tabella di condivisione e cronologia che supporti gli oggetti standard.
Dimensione blocco No Specifica le dimensioni del blocco. La dimensione massima è 250.000. La dimensione predefinita è 100.000.
Nome padre SObject No Elemento padre dell'oggetto Salesforce. Utilizzato per abilitare la suddivisione in blocchi per tabelle della cronologia o oggetti condivisi.

Esempi di formati data di Salesforce

Sintassi del formato Esempio
YYYY-MM-DDThh:mm:ss+hh:mm 1999-01-01T23:01:01+01:00
YYYY-MM-DDThh:mm:ss-hh:mm 1999-01-01T23:01:01-08:00
YYYY-MM-DDThh:mm:ssZ 1999-01-01T23:01:01Z

Mappature dei tipi di dati

La seguente tabella è un elenco dei tipi di dati di Salesforce con i tipi di CDAP corrispondenti.

Tipo di dati di Salesforce Tipo di dati schema CDAP
_bool boolean
_int int
_long long
_double, currency, percent, geolocation (latitudine), geolocation (longitudine) double
date date
datetime timestamp (microsecondi)
time time (microsecondi)
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
json string
complexvalue string

Casi d'uso

Consulta i seguenti casi d'uso per l'origine batch Salesforce:

best practice

Per saperne di più su come migliorare le prestazioni nell'origine batch di Salesforce, consulta le best practice.

Passaggi successivi