Richiama un'integrazione per un evento Change Data Capture (CDC) di Salesforce

Scopri come creare un'integrazione di esempio in Application Integration utilizzando il trigger Salesforce. I passaggi seguenti descrivono come configurare il trigger, le attività, i connettori e i mapping dei dati necessari per eseguire un'integrazione completa.

In questa guida rapida, utilizzerai il trigger Salesforce per richiamare un'integrazione in Application Integration per un evento Change Data Capture (CDC) di Salesforce, come mostrato nella figura seguente:

Diagramma di sequenza di esempio Diagramma di sequenza di esempio

Un trigger Salesforce è iscritto al canale delle opportunità Salesforce. Le modifiche ai dati dell'opportunità Salesforce richiamano un'Application Integration che estrae lo stato dell'opportunità Salesforce. Se lo stato è chiuso, l'integrazione estrae i dettagli dell'opportunità e scrive i dati in un'istanza Cloud SQL utilizzando un connettore. Se si verifica una modifica dei dati, ma lo stato rimane aperto, l'integrazione invia un messaggio a un argomento Pub/Sub utilizzando un connettore.

I passaggi seguenti descrivono come configurare il trigger, le attività, i profili di autenticazione, i bordi, le variabili e la mappatura dei dati necessari per eseguire un'integrazione riuscita.

Prima di iniziare

  • Verifica che Change Data Capture (CDC) sia attivato nel tuo account sviluppatore Salesforce. Questo tutorial presuppone che tu disponga di un account sviluppatore Salesforce esistente con la configurazione utente e l'insieme di autorizzazioni richiesti. Per informazioni sulla configurazione e sul set di autorizzazioni dell'utente Salesforce, consulta Configurare un trigger Salesforce.
  • Assegna i seguenti ruoli IAM all'agente di servizio Application Integration(service-PROJECT_NUMBER@gcp-sa-integrations.iam.gserviceaccount.com) nel tuo progetto Google Cloud.
    • Pub/Sub Editor
    • Amministratore connettori
    • Application Integration Invoker
    Per saperne di più sull'assegnazione dei ruoli IAM, consulta Ruoli e autorizzazioni IAM.
  • Crea la tabella Cloud SQL per archiviare i dati CDC di Salesforce.
    1. Nella Google Cloud console, vai alla pagina Istanze Cloud SQL e connettiti alla tua istanza MySQL. Consulta Connettersi a Cloud SQL per MySQL da Cloud Shell.

      Vai alle istanze Cloud SQL

    2. Crea il seguente database MySQL nell'istanza Cloud SQL:
      CREATE DATABASE SALESFORCE_TRIGGER_DEMO;
      USE SALESFORCE_TRIGGER_DEMO;
      
      CREATE TABLE OPPORTUNITIES
      (
           ID              INT NOT NULL AUTO_INCREMENT,
           NAME            VARCHAR(150) NOT NULL,
           AMOUNT          DOUBLE NOT NULL,
           DT_CLOSE        VARCHAR(150) NOT NULL,
           PRIMARY KEY     (ID)
      );
      COMMIT;
      
    3. Verifica che la tabella sia stata creata eseguendo il comando seguente.
      SELECT * FROM OPPORTUNITIES;
  • Crea una connessione Cloud SQL per MySQL in Connettori. Per informazioni dettagliate, consulta Creare una connessione Cloud SQL per MySQL .
  • Crea una connessione Cloud Pub/Sub in Connettori. Per informazioni dettagliate, consulta Creare una connessione Cloud Pub/Sub .

Creare una nuova integrazione

Per creare una nuova integrazione:

  1. Nella console Google Cloud, vai alla pagina Application Integration.

    Vai ad Application Integration

  2. Fai clic su Integrazioni nel menu di navigazione a sinistra per aprire la pagina Integrazioni.
  3. Fai clic su Crea integrazione.
  4. Inserisci un nome e una descrizione nella finestra di dialogo Crea integrazione. Ad esempio, Demo-CDC-Opportunities.
  5. Seleziona una regione per l'integrazione.
  6. Fai clic su Crea per aprire il designer dell'integrazione.

Aggiungere e configurare il trigger Salesforce

Per aggiungere e configurare un trigger Salesforce all'integrazione, segui questi passaggi:

  1. Nel designer dell'integrazione, seleziona Aggiungi un'attività/trigger > Trigger per visualizzare un elenco dei trigger disponibili.
  2. Fai clic sull'elemento Trigger Salesforce e posizionalo nel designer di integrazione.
  3. Fai clic sull'elemento Trigger Salesforce nel canvas per aprire il riquadro di configurazione del trigger.
  4. Configura i seguenti campi in Input trigger:
    • Tipo di evento: seleziona Acquisizione delle modifiche ai dati (CDC) dall'elenco a discesa.
    • Configurazione dell'istanza Salesforce: fai clic sull'opzione + Aggiungi nuova configurazione dell'istanza Salesforce dall'elenco a discesa.

      Viene visualizzata la finestra di dialogo Aggiungi configurazione istanza Salesforce.

      • Nome connessione istanza Salesforce: inserisci un nome di connessione per l'istanza Salesforce. Ad esempio, CDC-PlatformUser.
      • Dominio Salesforce: inserisci il nome del dominio Salesforce. Puoi trovare queste informazioni nella pagina Account Salesforce > Visualizza profilo.
      • Profilo di autenticazione: seleziona un profilo di autenticazione. Se non hai un profilo di autenticazione, creane uno nuovo. Per informazioni, vedi Creare un nuovo profilo di autenticazione.
      • Fai clic su Aggiungi.
    • Configurazione del canale Salesforce: fai clic sull'opzione + Aggiungi nuova configurazione del canale Salesforce dall'elenco a discesa.

      Viene visualizzata la finestra di dialogo Aggiungi canale Salesforce.

      • Nome oggetto Salesforce: inserisci Opportunity.
      • Fai clic su Aggiungi.
    • Operazione: seleziona Aggiorna dall'elenco a discesa.

    Le modifiche alle proprietà vengono salvate automaticamente.

Aggiungere e configurare le attività

Questo tutorial utilizza le attività Connettori e Mappatura dei dati. I dettagli di configurazione di ciascuna di queste attività sono descritti di seguito.

Configura un'attività Connectors con una connessione Cloud SQL per MySQL

Per configurare un'attività Connettori per inserire record in una tabella Cloud SQL esistente utilizzando la connessione Cloud SQL per MySQL:

  1. Seleziona +Aggiungi un'attività/trigger > Attività nel designer dell'integrazione per visualizzare l'elenco delle attività disponibili.
  2. Fai clic sull'elemento Connettori e posizionalo nel designer di integrazione.
  3. Fai clic sull'elemento attività Connettori nel designer per visualizzare il riquadro di configurazione dell'attività Connettori.
  4. Fai clic su e modifica il nome di Connettori in Insert row to Cloud SQL.
  5. Fai clic su Configura attività.

    Viene visualizzata la finestra di dialogo Configura attività connettore.

  6. Nella finestra di dialogo Configura attività connettore, segui questi passaggi:
    1. Seleziona la regione di connessione.
    2. Una volta scelta una regione, viene visualizzata la colonna Connessione. Seleziona la connessione Cloud SQL per MySQL dall'elenco delle connessioni disponibili.
    3. Una volta scelta una connessione, viene visualizzata la colonna Tipo. Seleziona Entità e poi OPPORTUNITÀ dall'elenco delle entità disponibili.
    4. Una volta scelto un tipo, viene visualizzata la colonna Operazione. Seleziona Crea.
    5. Fai clic su Fine per completare la configurazione della connessione e chiudere il riquadro.

Configurazione di un'attività Connettori con una connessione Cloud Pub/Sub

Per configurare un'attività Connettori per pubblicare un messaggio Pub/Sub utilizzando la connessione Cloud Pub/Sub:

  1. Seleziona +Aggiungi un'attività/trigger > Attività nel designer dell'integrazione per visualizzare l'elenco delle attività disponibili.
  2. Fai clic sull'elemento Connettori e posizionalo nel designer di integrazione.
  3. Fai clic sull'elemento attività Connettori nel designer per visualizzare il riquadro di configurazione dell'attività Connettori.
  4. Fai clic su e modifica il nome di Connettori in Publish to cloud pub/sub.
  5. Fai clic su Configura attività.

    Viene visualizzata la finestra di dialogo Configura attività connettore.

  6. Nella finestra di dialogo Configura attività connettore, segui questi passaggi:
    1. Seleziona la regione di connessione.
    2. Una volta scelta una regione, viene visualizzata la colonna Connessione. Seleziona la tua connessione Pub/Sub dall'elenco delle connessioni disponibili.
    3. Una volta scelta una connessione, viene visualizzata la colonna Tipo. Seleziona Azioni e poi publishMessage dall'elenco delle azioni disponibili.
    4. Fai clic su Fine per completare la configurazione della connessione e chiudere il riquadro.

Configurare l'attività di mappatura dei dati

Per configurare un'attività di mappatura dei dati:

  1. Seleziona Aggiungi un'attività/trigger > Attività per visualizzare un elenco delle attività disponibili.
  2. Fai clic sull'elemento Mappatura dei dati e posizionalo nel designer dell'integrazione.
  3. Fai clic sull'elemento Mappatura dei dati nel designer per aprire il riquadro di configurazione dell'attività.
  4. Fai clic su Apri editor mappatura dati.

    L'editor di mappatura dei dati consente di mappare le variabili di input alle variabili di output desiderate, utilizzando le funzioni di trasformazione disponibili. L'output è quindi disponibile come variabile per qualsiasi altra attività o trigger di integrazione. Per ulteriori dettagli sul passaggio dei dati come variabili, consulta Utilizzare le variabili in Application Integration.

  5. Fai clic su + Aggiungi nuova variabile e crea le seguenti variabili di output:
    Nome della variabile di output Tipo di dati
    OpportunityIsClosed Boolean
    OpportunityId String
    PubSubMessage String
  6. Crea il seguente mapping tra la variabile SalesforceTriggerCdcPayload e le variabili Connector input payload come mostrato nella tabella seguente:
    Input Output
    SalesforceTriggerCdcPayload.GET_PROPERTY("IsClosed").TO_BOOLEAN() OpportunityIsClosed
    SalesforceTriggerCdcPayload.GET_PROPERTY("Id").TO_STRING() OpportunityId
    OpportunityId.TO_DOUBLE() connectorInputPayload.ID(Insert row to Cloud SQL)
    SalesforceTriggerCdcPayload.GET_PROPERTY("Name").TO_STRING() connectorInputPayload.NAME(Insert row to Cloud SQL)
    SalesforceTriggerCdcSnapshot.GET_PROPERTY("Amount").TO_DOUBLE() connectorInputPayload.AMOUNT(Insert row to Cloud SQL)
    SalesforceTriggerCdcSnapshot.GET_PROPERTY("CloseDate").TO_STRING() connectorInputPayload.DT_CLOSE(Insert row to Cloud SQL)
    OpportunityId.CONCAT(" is still open") PubSubMessage
    PubSubMessage connectorInputPayload.message(Publish to cloud pub/sub)
  7. Una volta completata la mappatura, chiudi il riquadro. Tutte le modifiche verranno salvate automaticamente.

Aggiungere una connessione edge

Un arco è una connessione tra due elementi qualsiasi in un'integrazione e una condizione dell'arco consente di specificare le condizioni che devono essere soddisfatte affinché il controllo di un'integrazione passi all'attività connessa dall'arco. Per saperne di più su bordi e condizioni limite, consulta Bordi.

  1. Aggiungi una connessione edge dall'elemento Trigger Salesforce all'elemento Mapping dei dati.
  2. Aggiungi una connessione edge dall'elemento Mappatura dati all'elemento Inserisci riga nel connettore Cloud SQL con la seguente condizione edge:
      $OpportunityIsClosed$ = TRUE
  3. Aggiungi un'altra connessione edge dall'elemento Data Mapping all'elemento Cloud Pub/Sub Connector con la seguente condizione edge:
      $OpportunityIsClosed$ = FALSE
Immagine di esempio che mostra le connessioni perimetrali Immagine di esempio che mostra le connessioni perimetrali

Testare l'integrazione

Per testare la nuova integrazione:

  1. Fai clic su Test nella barra degli strumenti del designer dell'integrazione e poi seleziona Attivatore Salesforce.

    Viene visualizzata la finestra di dialogo Testa integrazione.

  2. Fai clic su Test integration (Prova integrazione).

Testa l'attività Cloud SQL accedendo all'istanza Salesforce e modificando lo stato di un'opportunità in "Chiuso".

Testa l'attività Pub/Sub accedendo all'istanza Salesforce e modificando un altro dettaglio dell'opportunità, ma lascia lo stato dell'opportunità "aperto".

Per saperne di più sui test, consulta Testare e pubblicare le integrazioni.

Per verificare l'esito positivo dell'integrazione:

  • Vai alla pagina Cloud SQL.

    Vai a Cloud SQL

    Controlla i log del database e di Cloud SQL per confermare l'inserimento della nuova riga.
  • Vai alla pagina Pub/Sub.

    Vai a Pub/Sub.

    Seleziona l'argomento Pub/Sub e poi fai clic su Visualizza messaggi per confermare la ricezione del messaggio inviato dall'integrazione.
  • Esamina i log di Application Integration per visualizzare lo stato di una determinata integrazione. Per visualizzare i log:
    1. Fai clic su Log nella barra degli strumenti del designer dell'integrazione.
    2. Nella pagina Log di esecuzione puoi visualizzare i dettagli di ogni tentativo di esecuzione di un'integrazione. Ogni voce include i dettagli del tentativo di esecuzione, tra cui:
      • Nome integrazione
      • ID esecuzione
      • Stato
      • Ora di inizio
      • Durata
      • Versione integrazione
      • ID trigger
    3. Fai clic sulla freccia di espansione (>) accanto all'integrazione eseguita per visualizzare un elenco espanso di attività e variabili nell'integrazione, insieme allo stato dell'attività e ai payload delle variabili.