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 del cliente. 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 evasione degli ordini delle API Diagramma di evasione degli ordini delle API

Obiettivi

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

  • Aggiungi un trigger API.
  • Aggiungi e configura attività Connectors 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 utilizzi 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 tuo 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 Connettori di integrazione:

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:

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

    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 delle integrazioni.

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 attivatore API nell'integrazione di api_fulfilment, segui questi passaggi:

  1. Nell'editor dell'integrazione, fai clic su Trigger per visualizzare un elenco di trigger disponibili.
  2. Fai clic sull'elemento trigger API e posizionalo nell'editor di integrazione.

    Application Integration compila automaticamente l'etichetta, il nome e l'ID 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 tutta l'esecuzione dell'integrazione. Per creare le variabili richieste per questo tutorial, segui questi passaggi:

  1. Fai clic su (Attiva/disattiva riquadro) 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 dell'integrazione
    customer_record JSON Output dell'integrazione

Recupera i dati dei clienti dal database MySQL

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

Connettiti al database MySQL

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

  1. Nell'editor dell'integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic e posiziona l'elemento Connectors nell'editor dell'integrazione.
  3. Seleziona l'elemento attività Connettori nel designer per visualizzare il riquadro di configurazione dell'attività dei 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à Connectors:
    1. In Seleziona connessione, scegli la regione us-central1.
    2. Seleziona la connessione Salesforce dall'elenco delle connessioni disponibili.
    3. Fai clic su Avanti.
    4. In Tipo, scegli Entità.
    5. In Imposta entità/azioni, seleziona Clienti dall'elenco di entità disponibili, quindi seleziona 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

Viene utilizzata un'attività di Mappatura dei dati per mappare l'ID cliente al connettore MySQL. Per aggiungere e configurare la mappatura dei dati nell'integrazione, segui questi passaggi:

  1. Nell'editor dell'integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic sull'elemento Mappatura dei dati e posizionalo nell'editor dell'integrazione.
  3. Seleziona l'elemento Mappatura dei dati nel designer per visualizzare il riquadro di configurazione dell'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 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 maggiori dettagli sulla mappatura delle variabili, consulta Aggiungere una mappatura.

  6. Mappa la variabile di integrazione dell'attivatore -customer_id - alla variabile di input del connettore generato automaticamente entityId(Fetch MySQL Data).

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

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

Recuperare i dettagli del cliente MySQL

Per recuperare i dettagli del cliente dal connettore MySQL:

  1. Nell'editor dell'integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic sull'elemento Mappatura dei dati e posizionalo nell'editor dell'integrazione.
  3. Fai clic sull'elemento Mappatura dei dati nel designer per visualizzare il riquadro di configurazione dell'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 MySQL di output connectorOutputPayload (Fetch MySQL Data) alla variabile di integrazione customer_record.

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

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

Recupera i dati dei clienti dal database Oracle

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

Connettiti al database Oracle

Per aggiungere e configurare un'attività Connectors in modo da recuperare i dettagli dei clienti dalla tabella Customers di Oracle:

  1. Nell'editor dell'integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic e posiziona l'elemento Connectors nell'editor dell'integrazione.
  3. Seleziona l'elemento attività Connettori nel designer per visualizzare il riquadro di configurazione dell'attività dei 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à Connectors:
    1. In Seleziona connessione, scegli la regione us-central1.
    2. Seleziona la connessione Salesforce dall'elenco delle connessioni disponibili.
    3. Fai clic su Avanti.
    4. In Tipo, scegli Entità.
    5. In Imposta entità/azioni, seleziona Clienti dall'elenco di entità disponibili, quindi seleziona Ottieni come Operazione.
    6. Fai clic su Fine per completare la configurazione della connessione e chiudere il riquadro.

Mappa l'ID cliente al connettore Oracle

Per aggiungere e configurare la mappatura dei dati nell'integrazione, segui questi passaggi:

  1. Nell'editor dell'integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic sull'elemento Mappatura dei dati e posizionalo nell'editor dell'integrazione.
  3. Seleziona l'elemento Mappatura dei dati nel designer per visualizzare il riquadro di configurazione dell'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 dell'attivatore -customer_id - alla variabile di input del connettore generato automaticamente entityId(Fetch Oracle Data).

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

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

Recuperare i dettagli del cliente Oracle

Per recuperare i dettagli del cliente dal connettore Oracle:

  1. Nell'editor dell'integrazione, fai clic su Tasks per visualizzare un elenco di attività disponibili.
  2. Fai clic sull'elemento Mappatura dei dati e posizionalo nell'editor dell'integrazione.
  3. Fai clic sull'elemento Mappatura dei dati nel designer per visualizzare il riquadro di configurazione dell'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. Eventuali modifiche verranno salvate automaticamente.

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

Aggiungi condizione perimetrale

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 perimetrale 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 su 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.

Dopo aver pubblicato correttamente 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 dei 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 delle integrazioni, segui questi passaggi:

  1. Fai clic su Test nella barra degli strumenti dell'editor delle integrazioni.

    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, segui questi passaggi:
    • customer_id: inserisci 1.
    • location: inserisci APAC.
  3. Fai clic su Test Integration (Testa integrazione).

L'integrazione viene eseguita correttamente e viene visualizzato il seguente valore del 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 utilizzando 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: creare 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 dell'integrazione. Per saperne di più, consulta Eliminare le integrazioni.
  • Per informazioni su come eliminare una connessione, consulta Gestire i connettori.