Origine batch di Salesforce

Questa pagina descrive come caricare i dati dagli sObject di Salesforce in Google Cloudcon Cloud Data Fusion. Il plug-in dell'origine batch di Salesforce legge gli sObject da Salesforce. Gli sObject sono le tabelle Salesforce da cui prevedi di estrarre i dati. Alcuni esempi di sObject includono 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 data incrementali o di intervallo.

Prima di iniziare

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

Configurare 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, implementa i plug-in Salesforce da Cloud Data Fusion Hub.
  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 derivazione, 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 Ottieni 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 nella scheda Nuova connessione.

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

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

      • Ultima modifica dopo: includi solo i record modificati l'ultima volta dopo un determinato orario.
      • Ultima modifica prima del giorno: includi solo i record modificati l'ultima volta prima di un determinato orario.
      • Durata: includi solo i record modificati l'ultima volta entro 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 gli sObject supportati, per migliorare le prestazioni di una pipeline, attiva Attiva suddivisione PK. Per saperne di più, consulta Migliorare le prestazioni con la suddivisione in blocchi della chiave primaria.

    7. (Facoltativo) Invece di specificare il nome dell'oggetto sObject, puoi inserire una query SOQL, ad esempio SELECT LastName from Contact. Per maggiori informazioni, vedi 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 della tabella elencata (tecnicamente, un sObject).

Proprietà

Proprietà Con macro Proprietà obbligatoria Descrizione
Nome del riferimento No Utilizzato per identificare in modo univoco questa origine per attività come la derivazione, l'annotazione dei metadati.
Usa connessione No No Utilizza una connessione esistente. Se viene utilizzata una connessione, non è necessario fornire le credenziali.
Sfoglia 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, l'app Cloud Data Fusion lo aggiunge prima dell'autenticazione con Salesforce.
Chiave utente Chiave utente applicazione. Questo valore è chiamato anche ID client OAuth. Per ottenere una chiave utente, crea un'applicazione connessa a Salesforce.
Consumer secret Application Consumer Secret. Questo valore è chiamato anche client secret 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 dell'inizializzazione della connessione prima del timeout.
Il valore predefinito è 30.000 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 fornita la query SOQL.
Esistono anche sObject non supportati nell'API Salesforce Bulk. La creazione di un job con un oggetto non supportato causa il seguente errore: Entity is not supported by the Bulk API. Questi oggetti non sono supportati nemmeno 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 sul batch, 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 larghi. Ad esempio, genera una query ID che recupera solo le informazioni sul 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 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 esempi). Se specifichi questo valore con la proprietà Last modified after, puoi 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 l'ultima volta entro un intervallo di tempo della dimensione specificata. 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 (incluso) alle 9:00 (escluso). 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 2:00 (incluso) e le 8:00 (escluso).
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 di, l'offset viene ignorato.
Tipo di operazione SOQL No No Specifica l'operazione di query da eseguire sulla tabella. Se viene selezionata una query, vengono restituiti solo i record attuali. Se selezioni queryAll, vengono restituiti tutti i record correnti ed eliminati.
L'operazione predefinita è query.
Abilita il chunking della chiave primaria No La suddivisione della chiave primaria (PK) divide una query su tabelle di grandi dimensioni in parti, o chunk, in base agli ID record o alle chiavi primarie dei record sottoposti a query.
Salesforce consiglia di attivare la suddivisione in blocchi della chiave primaria quando si eseguono query su tabelle con più di 10 milioni di record o quando una query collettiva scade costantemente. Per ulteriori informazioni, vedi Chunking della chiave primaria. La suddivisione in blocchi della chiave primaria funziona solo con le query che non includono clausole SELECT o condizioni diverse da WHERE. Il chunking è supportato per gli oggetti personalizzati e per tutte le tabelle di 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 padre SObject No Elemento principale dell'oggetto Salesforce. Viene utilizzato per abilitare la suddivisione in blocchi per tabelle della cronologia o 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:

Prerequisiti per l'upgrade al plug-in Salesforce versione 1.7.0

Il plug-in Salesforce versione 1.7.0 è disponibile in Cloud Data Fusion versione 6.8.0 e successive. Questa release include l'upgrade della versione 1 dell'API Salesforce Bulk dalla 62.0 alla 64.0.

Salesforce ha ritirato alcuni campi nella versione 64.0 dell'API. L'upgrade al plug-in Salesforce versione 1.7.0 potrebbe causare errori nelle pipeline che utilizzano questi campi. Per assicurarti che le pipeline continuino a funzionare, aggiorna manualmente lo schema della pipeline per caricare un nuovo schema o rimuovere i campi ritirati.

Campi deprecati nell'API Salesforce versione 64.0

Salesforce ha ritirato i seguenti campi nella versione 64.0 dell'API:

Nome oggetto Nomi dei campi
MobSecurityCertPinConfig EffectiveDate
Profilo PermissionsAllowObjectDetectionTraining
PermissionsAllowObjectDetection
PermissionSet PermissionsAllowObjectDetectionTraining
PermissionsAllowObjectDetection
PermissionSetLicense MaximumPermissionsAllowObjectDetectionTraining
MaximumPermissionsAllowObjectDetection
UserPermissionAccess PermissionsAllowObjectDetectionTraining
PermissionsAllowObjectDetection
MutingPermissionSet PermissionsAllowObjectDetectionTraining
PermissionsAllowObjectDetection
Dominio OptionsHstsHeaders
Utente UserPreferencesHideInvoicesRedirectConfirmation
UserPreferencesHideStatementsRedirectConfirmation
UserChangeEvent UserPreferencesHideInvoicesRedirectConfirmation
UserPreferencesHideStatementsRedirectConfirmation

Aggiorna schema della pipeline

Se la pipeline utilizza campi deprecati, aggiorna lo schema della pipeline caricando un nuovo schema o rimuovendo i campi deprecati:

  1. Vai all'interfaccia web di Cloud Data Fusion e fai clic su Elenco.

  2. Per visualizzare le pipeline di cui è stato eseguito il deployment, fai clic sulla scheda Eseguito il deployment.

  3. Per la pipeline che vuoi aggiornare, fai clic su > Modifica.

  4. Nella visualizzazione Studio, tieni il puntatore sul plug-in di origine Salesforce e fai clic su Properties (Proprietà).

    Si apre la finestra di configurazione del plug-in Salesforce.

  5. Per caricare un nuovo schema:

    1. Nella scheda Schema di output, fai clic su > Cancella e poi fai clic su Convalida. In questo modo, viene caricato lo schema più recente da Salesforce.

    2. Dopo il caricamento dello schema, nella scheda Schema di output, fai clic su > Propaga.

      In questo modo, lo schema viene aggiornato automaticamente per tutti i plug-in successivi nella pipeline, il che potrebbe sovrascrivere le modifiche manuali dello schema nei plug-in come Wrangler.

  6. Per rimuovere manualmente i campi ritirati:

    1. Nella scheda Schema di output, per ciascuno dei campi ritirati, fai clic su . I campi vengono rimossi da tutte le fasi successive.

Best practice

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

Passaggi successivi