Origine batch di Salesforce

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

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

Prima di iniziare

  • L'origine batch di Salesforce di Cloud Data Fusion utilizza la versione 1 dell'API Salesforce Bulk.
  • Configura Salesforce prima di eseguire il deployment e utilizzare il plug-in Salesforce di Cloud Data Fusion. Per ulteriori informazioni, consulta Creare un'app collegata a 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 sia selezionata l'opzione Pipeline di dati - Batch (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 Cloud Data Fusion.
  4. Per configurare l'origine, vai al nodo Salesforce e fai clic su Properties (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 catena di trasmissione, ad esempio Salesforce tables.
    3. Inserisci i dettagli della connessione. Puoi configurare una nuova connessione una tantum o una connessione esistente riutilizzabile.

      Nuova connessione

      Per aggiungere una connessione una tantum a Salesforce:

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

        • 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:

      1. Attiva l'opzione Usa 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 crearne una nuova riutilizzabile, fai clic su Aggiungi connessione e segui i passaggi descritti nella scheda Nuova connessione.

    4. Inserisci il nome dell'oggetto S per caricare tutte le colonne dall'oggetto.

    5. (Facoltativo) Se selezioni il nome dell'entità sObject, puoi filtrare i dati con i seguenti campi:

      • Ultima modifica dopo: includi solo i record modificati per ultima volta dopo un determinato momento.
      • Ultima modifica prima del giorno: includi solo i record che sono stati modificati l'ultima volta prima di un determinato momento.
      • Durata: includi solo i record modificati per l'ultima volta in un intervallo di tempo 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 le sObject supportate, per migliorare il rendimento di una pipeline, attiva Attiva il chunking delle chiavi principali. Per ulteriori informazioni, consulta Migliorare il rendimento con il chunking dei token PK.

    7. (Facoltativo) Anziché specificare il nome dell'entità sObject, puoi inserire una query SOQL, ad esempio SELECT LastName from Contact. Per ulteriori 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 e estrae lo schema per la tabella elencata (tecnicamente, un sObject).

Proprietà

Proprietà Macro attivata Proprietà obbligatoria Descrizione
Nome di riferimento No Utilizzato per identificare in modo univoco questa origine per attività quali la creazione della cronologia e l'annotazione dei metadati.
Utilizza la connessione No No Utilizza una connessione esistente. Se viene utilizzata una connessione, non è necessario fornire le credenziali.
Sfogliare le connessioni No Il nome della connessione da utilizzare.
Nome utente Nome utente Salesforce.
Password Password di Salesforce.
Token di sicurezza No Token di sicurezza Salesforce. Se la password non contiene il token di sicurezza, Cloud Data Fusion lo aggiunge prima di autenticarsi con Salesforce.
Chiave utente Chiave utente dell'applicazione. È chiamato anche ID client OAuth. Per ottenere una chiave consumer, crea un'applicazione collegata a Salesforce.
Consumer secret Consumer secret dell'applicazione. Questo viene chiamato anche secret del client OAuth. Per ottenere un client secret, crea un'applicazione collegata a Salesforce.
URL di accesso URL di accesso OAuth2 di Salesforce.
Il valore predefinito è https://login.salesforce.com/services/oauth2/token
Timeout connessione No Tempo massimo, in millisecondi, di attesa per l'inizializzazione della connessione prima del timeout.
Il valore predefinito è 30000 millisecondi.
URL del proxy No URL proxy, che contengono 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 recupera tutti i campi per questo oggetto da Salesforce e genera una query SOQL, ad esempio select FIELD_1, FIELD_2 from ${sObjectName}. Questa impostazione viene ignorata se viene specificata una query SOQL.
Esistono anche sObjects non supportate nell'API Salesforce Bulk. La creazione di un job con un oggetto non supportato genera 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 l'API BULK non viene utilizzata: quando la lunghezza della query invia la query a Salesforce per ricevere l'array di informazioni collettive, l'API Bulk non viene utilizzata in un caso. Se la query rientra nel limite, viene eseguita la query originale. In caso contrario, passa alla logica degli oggetti ampi. Ad esempio, genera una query sull'ID che recupera solo le informazioni sui batch per gli ID che verranno utilizzati in seguito per il recupero dei dati tramite l'API SOAP.
Ultima modifica dopo il giorno No Filtra i dati in modo da 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 fornito alcun valore, non viene applicata alcuna data limite inferiore.
Ultima modifica prima del giorno No Filtra i dati in modo da includere solo i record in cui il campo di sistema, LastModifiedDate, è precedente alla data specificata. Utilizza il formato data di Salesforce (vedi gli esempi). La specifica di questo valore con la proprietà Ultima modifica dopo consente di leggere i dati modificati in un determinato periodo di tempo. Se non viene fornito alcun valore, non viene applicata alcuna data limite superiore.
Durata No Filtra i dati in modo da leggere solo i record modificati per l'ultima volta in un intervallo di tempo delle dimensioni specificate. Ad esempio, se la durata è 6 hours e la pipeline viene eseguita alle 9:00, leggerà i dati aggiornati l'ultima volta dalle 3:00 (incluse) alle 9:00 (escluse). Specifica la durata con numeri e le seguenti unità di tempo:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
È possibile specificare più unità, ma ogni unità può essere utilizzata una sola volta. Ad esempio, 2 days, 1 hours, 30 minutes. Se è già stato specificato un valore per Ultima modifica dopo o Ultima modifica prima, la durata viene ignorata.
Offset No Filtra i dati in modo da leggere solo i record in cui il campo di sistema, LastModifiedDate, è inferiore all'ora di inizio logica della pipeline, meno l'offset specificato. Ad esempio, se la durata è 6 hours, l'offset è 1 hours e la pipeline viene eseguita alle 9:00, vengono letti i dati modificati l'ultima volta tra le 02:00 (incluse) e le 08:00 (escluse).
Specifica la durata utilizzando numeri e le seguenti unità di tempo:
  • seconds
  • minutes
  • hours
  • days
  • months
  • years
È possibile specificare più unità, ma ogni unità può essere utilizzata una sola volta. Ad esempio, 2 days, 1 hours, 30 minutes. Se è già stato specificato un valore per 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.
Attivare il chunking delle chiavi principali No La suddivisione in blocchi della chiave primaria (PK) suddivide una query su tabelle di grandi dimensioni in pezzi o blocchi in base agli ID record o alle chiavi principali dei record sottoposti a query.
Salesforce consiglia di attivare il chunking dei PK quando esegui query su tabelle con più di 10 milioni di record o quando una query collettiva scade costantemente. Per ulteriori informazioni, consulta Suddivisione in blocchi dei PK. Il raggruppamento di PK funziona solo con le query che non includono clausole SELECT o condizioni diverse da WHERE. Il chunking è supportato per gli oggetti personalizzati e per le tabelle Condivisione e Cronologia che supportano gli oggetti standard.
Dimensione chunk No Specifica le dimensioni del chunk. La dimensione massima è 250.000. La dimensione predefinita è 100.000.
Nome dell'oggetto padre No Oggetto principale dell'oggetto Salesforce. Viene utilizzato per attivare il chunking per le tabelle della cronologia o gli oggetti condivisi.

Esempi di formati di 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 tabella seguente è un elenco dei tipi di dati Salesforce con i tipi CDAP corrispondenti.

Tipo di dati Salesforce Tipo di dati dello 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 di Salesforce:

Best practice

Per ulteriori informazioni su come migliorare il rendimento nell'origine batch Salesforce, consulta le best practice.

Passaggi successivi