Evasione delle richieste API


Questo tutorial descrive un caso d'uso su come utilizzare Application Integration per instradare e recuperare le informazioni per una richiesta API in entrata.

Panoramica

In questo tutorial creerai un'integrazione con un trigger API che riceve richieste API per il recupero dei dati dei clienti. A seconda della località della richiesta API, l'integrazione recupera i dettagli del cliente da un database MySQL o da un database Oracle.

Diagramma di fulfillment API Diagramma di fulfillment API

Obiettivi

Questo tutorial ti mostra come completare le attività seguenti nell'integrazione:

  • Aggiungi un trigger API.
  • Aggiungi e configura le attività Connettori per le connessioni MySQL e Oracle.
  • Aggiungi e configura attività di mappatura dei dati per estrarre e mappare il payload dell'API.

Costi

In questo tutorial utilizzerai i seguenti componenti fatturabili di Google Cloud:

Le istruzioni di questo tutorial sono progettate per mantenere l'utilizzo delle risorse entro i limiti del livello Always Free di Google Cloud.

Una volta completate le attività descritte in questo documento, puoi evitare la fatturazione continua eliminando le risorse che hai creato. Per ulteriori informazioni, consulta la pagina Pulizia.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

prepara l'ambiente

Configura un database MySQL

Connettiti al server MySQL e crea un database e una tabella da utilizzare in questo tutorial. Questo tutorial utilizza un database che contiene una tabella denominata Customers con le seguenti righe:

  +-------------+---------------+--------------------+------------------+
  | customer_id | customer_name | customer_emailID   | customer_city    |
  +-------------+---------------+--------------------+------------------+
  |           1 | Alex          | test-01@test.com   | New York         |
  |           2 | Dana          | test-02@test.com   | Seattle          |
  +-------------+---------------+--------------------+------------------+
  

Per informazioni sulla creazione e sull'utilizzo di un database MySQL, consulta la documentazione di MySQL.

Configura un database Oracle

Connettiti al tuo database Oracle e crea una tabella da utilizzare in questo tutorial. Questo tutorial utilizza un database che contiene una tabella SQL denominata Customers con le seguenti righe:

  +-------------+---------------+--------------------+------------------+
  | customer_id | customer_name | customer_emailID   | customer_city    |
  +-------------+---------------+--------------------+------------------+
  |           1 | Amal          | test-01@test.com   | Delhi            |
  |           2 | Hao           | test-02@test.com   | Beijing          |
  +-------------+---------------+--------------------+------------------+
  

Per informazioni sulla creazione e sull'utilizzo di un database Oracle, consulta la documentazione di Oracle.

Configura connessioni

Per questo tutorial, devi configurare le seguenti connessioni in Integration Connectors:

Connessione MySQL
Configura una connessione MySQL in Integration Connectors per ottenere le entità delle tabelle Customer. Per informazioni sulla configurazione di un connettore MySQL, consulta Connettore MySQL.
Connessione Oracle DB
Configura una connessione Oracle DB in Integration Connectors per ottenere le entità delle tabelle Customer. Per informazioni sulla configurazione di un connettore MySQL, consulta Connettore Oracle DB.

Crea integrazione

Per creare una nuova integrazione, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Application Integration (Integrazione di applicazioni).

    Vai ad Application Integration

  2. Nel menu di navigazione, fai clic su Integrations (Integrazioni). Viene visualizzata la pagina Elenco delle integrazioni.
  3. Fai clic su Crea integrazione e fornisci i seguenti dettagli nella pagina Crea integrazione:
    1. Integration name (Nome integrazione): inserisci api_fulfilment.
    2. Descrizione: inserisci Demo integration created for tutorial.
    3. Regione:seleziona us-central1 dall'elenco delle regioni supportate.
    4. Fai clic su Crea per aprire l'editor di integrazione.

Configura trigger di integrazione

Dopo aver creato correttamente l'integrazione, puoi aggiungere e configurare un trigger di integrazione che richiama l'integrazione per un evento identificato.

Per questo tutorial, viene utilizzato un trigger API per richiamare l'integrazione per ogni nuova richiesta API. Per aggiungere e configurare un trigger API nell'integrazione di api_fulfilment, segui questi passaggi:

  1. Nell'editor di integrazione, fai clic su Attivatori per visualizzare un elenco degli attivatori disponibili.
  2. Fai clic sull'elemento attivatore API e posizionalo nell'editor di integrazione.

    Application Integration compila automaticamente l'etichetta, il nome e l'ID del trigger. L'ID trigger è un ID generato automaticamente nel formato api_trigger/TRIGGER_NAME e viene utilizzato nella richiesta API.

  3. Non sono necessarie ulteriori configurazioni per questo trigger.

Crea variabili di integrazione

Le variabili di integrazione sono simili a quelle utilizzate in un linguaggio di programmazione. I dati nelle variabili possono essere letti e scritti durante l'esecuzione dell'integrazione. Per creare le variabili richieste per questo tutorial:

  1. Fai clic su (riquadro di attivazione/disattivazione) nella barra di navigazione del designer per visualizzare il riquadro Variabili.
  2. Fai clic su + Crea e crea le seguenti variabili di integrazione:
    Nome variabile Tipo di dati Tipo di variabile
    location STRING Input per l'integrazione
    customer_id STRING Input all'integrazione
    customer_record JSON Output dall'integrazione

Recupera i dati dei clienti dal database MySQL

Se la richiesta API in entrata proviene dalla località US, segui questi passaggi per recuperare i dati dei clienti dal database MySQL.

Connettiti al database MySQL

Segui questi passaggi per aggiungere e configurare un'attività Connettori in modo da recuperare i dettagli dei clienti dalla tabella Clienti MySQL:

  1. Nell'editor di integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic sull'elemento Connettori e posizionalo nell'editor di integrazione.
  3. Seleziona l'elemento dell'attività Connettori nel designer per visualizzare il riquadro di configurazione dell'attività Connettori.
  4. Fai clic su e rinomina l'etichetta Connettori in Fetch MySQL Data.
  5. Fai clic su Configura connettore.
  6. Esegui le seguenti operazioni nella pagina Editor attività connettori:
    1. In Seleziona connessione, scegli la regione us-central1.
    2. Seleziona la connessione Salesforce dall'elenco di connessioni disponibili.
    3. Tocca Avanti.
    4. In Tipo, scegli Entità.
    5. In Imposta entità/azioni, seleziona Clienti dall'elenco delle entità disponibili e poi Ottieni come Operazione.
    6. Fai clic su Fine per completare la configurazione della connessione e chiudere il riquadro.

Mappare l'ID cliente al connettore MySQL

Un'attività di mappatura dei dati viene utilizzata per mappare l'ID cliente al connettore MySQL. Per aggiungere e configurare la mappatura dei dati nell'integrazione:

  1. Nell'editor di integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic sull'elemento Data Mapping e posizionalo nell'editor di integrazione.
  3. Seleziona l'elemento Data Mapping nel designer per visualizzare il riquadro di configurazione delle attività.
  4. Fai clic su e rinomina l'attività Mappatura dei dati in Map to MySQL.
  5. Fai clic su Apri editor di mappatura dei dati.

    L'Editor di mappatura dei dati consente di mappare le variabili di input a quelle di output desiderate, utilizzando le funzioni di trasformazione disponibili. L'output è quindi disponibile come variabile per qualsiasi altro trigger o attività di integrazione. Per maggiori dettagli sulle variabili di mappatura, consulta Aggiungere una mappatura.

  6. Mappa la variabile di integrazione del trigger - customer_id al connettore generato automaticamente - entityId(Fetch MySQL Data) - variabile di input.

    Una volta completata la mappatura, chiudi il riquadro. Le modifiche verranno salvate automaticamente.

  7. Aggiungi una connessione perimetrale dall'attività Mappa a MySQL al connettore Recupera dati MySQL.

Recupera i dettagli del cliente MySQL

Per recuperare i dettagli del cliente dal connettore MySQL:

  1. Nell'editor di integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic sull'elemento Data Mapping e posizionalo nell'editor di integrazione.
  3. Fai clic sull'elemento Mappatura dei dati nel designer per visualizzare il riquadro di configurazione delle attività.
  4. Fai clic su e rinomina l'attività Mappatura dei dati in Get MySQL data.
  5. Fai clic su Apri editor di mappatura dei dati.
  6. Mappa la variabile di output MySQL-connectorOutputPayload (Fetch MySQL Data) alla variabile di integrazione customer_record.

    Una volta completata la mappatura, chiudi il riquadro. Le modifiche verranno salvate automaticamente.

  7. Aggiungi una connessione perimetrale dal connettore Recupera dati MySQL all'attività Recupero dati MySQL.

Recupera i dati dei clienti dal database Oracle

Se la richiesta API in entrata proviene dalla località APAC, procedi nel seguente modo per recuperare i dati dei clienti dal database Oracle.

Connettiti al database Oracle

Esegui i passaggi seguenti per aggiungere e configurare un'attività Connettori in modo da recuperare i dettagli dei clienti dalla tabella Clienti Oracle:

  1. Nell'editor di integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic sull'elemento Connettori e posizionalo nell'editor di integrazione.
  3. Seleziona l'elemento dell'attività Connettori nel designer per visualizzare il riquadro di configurazione dell'attività Connettori.
  4. Fai clic su e rinomina l'etichetta Connettori in Fetch Oracle Data.
  5. Fai clic su Configura connettore.
  6. Esegui le seguenti operazioni nella pagina Editor attività connettori:
    1. In Seleziona connessione, scegli la regione us-central1.
    2. Seleziona la connessione Salesforce dall'elenco di connessioni disponibili.
    3. Tocca Avanti.
    4. In Tipo, scegli Entità.
    5. In Imposta entità/azioni, seleziona Clienti dall'elenco delle entità disponibili e poi Ottieni come Operazione.
    6. Fai clic su Fine per completare la configurazione della connessione e chiudere il riquadro.

Mappare l'ID cliente al connettore Oracle

Per aggiungere e configurare la mappatura dei dati nell'integrazione:

  1. Nell'editor di integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic sull'elemento Data Mapping e posizionalo nell'editor di integrazione.
  3. Seleziona l'elemento Data Mapping nel designer per visualizzare il riquadro di configurazione delle attività.
  4. Fai clic su e rinomina l'attività Mappatura dei dati in Map to Oracle.
  5. Fai clic su Apri editor di mappatura dei dati.
  6. Mappa la variabile di integrazione del trigger - customer_id al connettore generato automaticamente - entityId(Fetch Oracle Data) - variabile di input.

    Una volta completata la mappatura, chiudi il riquadro. Le modifiche verranno salvate automaticamente.

  7. Aggiungi una connessione perimetrale dall'attività Mappa a Oracle al connettore Recupera dati Oracle.

Recupera i dettagli del cliente Oracle

Per recuperare i dettagli del cliente dal connettore Oracle:

  1. Nell'editor di integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic sull'elemento Data Mapping e posizionalo nell'editor di integrazione.
  3. Fai clic sull'elemento Mappatura dei dati nel designer per visualizzare il riquadro di configurazione delle attività.
  4. Fai clic su e rinomina l'attività Mappatura dei dati in Get Oracle data.
  5. Fai clic su Apri editor di mappatura dei dati.
  6. Mappa la variabile di output Oracle-connectorOutputPayload (Fetch Oracle Data) alla variabile di integrazione customer_record.

    Una volta completata la mappatura, chiudi il riquadro. Le modifiche verranno salvate automaticamente.

  7. Aggiungi una connessione perimetrale dal connettore Recupera dati Oracle all'attività Recupera dati Oracle.

Aggiungi condizione bordo

Una condizione perimetrale consente di specificare le condizioni che devono essere soddisfatte affinché il controllo di un'integrazione passi all'attività connessa dal perimetro. Ora che hai aggiunto e configurato le attività richieste, puoi aggiungere una condizione perimetrale per definire il flusso dell'integrazione.

La seguente condizione del perimetro controlla il flusso dell'integrazione in base alla variabile di integrazione location:

  1. Aggiungi una connessione perimetrale dal trigger API all'attività Mappa a MySQL con la seguente condizione perimetrale:
      $location$ = "US"
  2. Aggiungi un'altra connessione perimetrale dal trigger API all'attività Mappa a Oracle con la seguente condizione perimetrale:
      $location$ = "APAC"

Esempio di flusso di integrazione

La figura seguente mostra un layout di esempio dell'integrazione creata utilizzando questo tutorial.

Immagine di esempio che mostra il flusso di integrazione Immagine di esempio che mostra il flusso di integrazione

Pubblica integrazione

Per pubblicare l'integrazione, fai clic su Pubblica nella barra degli strumenti dell'editor delle integrazioni.

Una volta pubblicata l'integrazione, puoi visualizzare e controllare i log di esecuzione dell'integrazione pubblicata. Per visualizzare i log, fai clic su immagine che mostra l'icona per i log di esecuzioneVisualizza i log di esecuzione per questa integrazione. Viene visualizzata la pagina Log di esecuzione.

Testare l'integrazione

Testare l'integrazione dall'editor di integrazione

Per testare l'integrazione dall'editor di integrazione, segui questi passaggi:

  1. Fai clic su Test nella barra degli strumenti dell'editor di integrazione.

    Viene visualizzato il riquadro Testa integrazione.

  2. Ti viene chiesto di inserire i valori di test per le variabili di input di integrazione. Ai fini di questo test:
    • customer_id: inserisci 1.
    • location: inserisci APAC.
  3. Fai clic su Test Integration (Testa l'integrazione).

L'integrazione viene eseguita correttamente e viene visualizzato il seguente valore cliente:

{ 
  "CUSTOMER_ID": 1,
  "CUSTOMER_NAME": "Amal"
  "CUSTOMER_EMAILID": "test-01@test.com "
  "CUSTOMER_CITY": "Delhi"
}

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

Esegui un test con una chiamata API REST

Ora che l'integrazione è pubblicata e in esecuzione, puoi richiamarla utilizzando la seguente chiamata POST REST:

URL:
https://integrations.googleapis.com/v1/projects/project-name/locations/-/integrations/api_fulfilment:execute 
Corpo della richiesta:
{"trigger_id":"api_trigger/api_fulfilment_API_1"}

Esempio: effettuare una richiesta API con input personalizzati

curl -v -X POST -H "Content-Type: application/json" 'https://integrations.googleapis.com/v1/projects/connectors-ip-test/locations/us-central1/integrations/api-fulfillment-integration:execute' -H "Authorization: Bearer $(gcloud auth AUTH_PROFILE)" -d  '{ "triggerId": "api_trigger/api-fulfillment-integration_API_1", "inputParameters": { "customer_id": {"string_value": 1}, "location" : {"string_value" : "US"}} }'

L'API restituisce la risposta di esecuzione dell'integrazione contenente tutti i seguenti JSON:

  { 
    "CUSTOMER_ID": 2,
    "CUSTOMER_NAME": "Dana"
    "CUSTOMER_EMAILID": "test-02@test.com "
    "CUSTOMER_CITY": "Seattle"
  }
  

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, annulla la pubblicazione dell'integrazione ed elimina le connessioni create in Integration Connectors.

  • Per annullare la pubblicazione di questa integrazione, fai clic su Annulla pubblicazione nella barra degli strumenti dell'editor di integrazione. Per saperne di più, consulta Eliminare le integrazioni.
  • Per informazioni su come eliminare una connessione, vedi Gestire i connettori.