Consulta i connettori supportati per Application Integration.

Inserisci i dati in BigQuery utilizzando un'attività Per ogni parallelo

In questo tutorial creerai un'Application Integration e una sottointegrazione per elaborare una serie di record. Per ogni record, l'integrazione principale richiama in modo asincrono l'integrazione secondaria, che prende i dati per ogni record e li inserisce come riga in una tabella in un set di dati BigQuery.

In questo tutorial imparerai a completare le seguenti attività:

Prima di iniziare

  • Assicurati di avere accesso ad Application Integration.
  • Esegui le seguenti operazioni nel tuo progetto Google Cloud:

    • Concedi i ruoli seguenti all'account di servizio che vuoi utilizzare per creare la connessione:
      • roles/bigquery.dataEditor
      • roles/bigquery.readSessionUser
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor
    • Abilita i seguenti servizi:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Se questi servizi non sono stati abilitati per il tuo progetto in precedenza, ti verrà chiesto di abilitarli durante la creazione della connessione nella pagina Crea connessione.

Configurare una connessione BigQuery

Per iniziare, crea il set di dati e la tabella BigQuery da utilizzare in questo tutorial. Dopo aver creato il set di dati e la tabella, crea una connessione BigQuery. Utilizzerai questa connessione in un'integrazione più avanti in questo tutorial.

Configurare un set di dati e una tabella BigQuery

Per configurare il set di dati e la tabella BigQuery:

  1. Nella pagina della console Cloud, seleziona il progetto Google Cloud.
  2. Per avviare una sessione di Cloud Shell dalla console Google Cloud, fai clic sull'icona Icona Attiva Cloud Shell Attiva Cloud Shell nella console Cloud. Viene avviata una sessione nel riquadro inferiore della console Google Cloud.
  3. Per abilitare le API BigQuery, inserisci i seguenti comandi nel terminale Cloud Shell:
    export PROJECT_ID=project_id
    export REGION=region
    gcloud services enable --project "${PROJECT_ID}" \
        bigquery.googleapis.com \
        bigquerystorage.googleapis.com
    In questo comando, sostituisci:
    • project_id con l'ID del tuo progetto Google Cloud.
    • region con la regione che vuoi utilizzare per creare il set di dati BigQuery.
  4. Per creare un set di dati BigQuery con il nome bq_tutorial, inserisci il seguente comando nel terminale Cloud Shell:
          bq  --project_id ${PROJECT_ID} --location ${REGION} mk bq_tutorial
        
  5. Per creare una tabella BigQuery con il nome tutorial, inserisci questo comando nel terminale Cloud Shell:
          bq --project_id ${PROJECT_ID} \
            query  \
            --nouse_legacy_sql \
          'create table bq_tutorial.tutorial (
          unique_key STRING NOT NULL,
          created_date STRING,
          closed_date STRING,
          agency STRING,
          agency_name STRING,
          complaint_type STRING,
          descriptor STRING,
          location_type STRING,
          incident_zip STRING,
          incident_address STRING,
          street_name STRING,
          cross_street_1 STRING,
          cross_street_2 STRING,
          intersection_street_1 STRING,
          intersection_street_2 STRING,
          address_type STRING,
          city STRING,
          landmark STRING,
          facility_type STRING,
          status STRING,
          due_date STRING,
          resolution_action_updated_date STRING,
          community_board STRING,
          borough STRING,
          x_coordinate_state_plane STRING,
          y_coordinate_state_plane STRING,
          park_facility_name STRING,
          park_borough STRING,
          school_name STRING,
          school_number STRING,
          school_region STRING,
          school_code STRING,
          school_phone_number STRING,
          school_address STRING,
          school_city STRING,
          school_state STRING,
          school_zip STRING,
          school_not_found STRING,
          school_or_citywide_complaint STRING,
          vehicle_type STRING,
          taxi_company_borough STRING,
          taxi_pick_up_location STRING,
          bridge_highway_name STRING,
          bridge_highway_direction STRING,
          bridge_highway_segment STRING,
          road_ramp STRING,
          garage_lot_name STRING,
          ferry_direction STRING,
          ferry_terminal_name STRING,
          latitude STRING,
          longitude STRING,
          location STRING
          ) '
      
  6. Verifica che la tabella BigQuery sia stata creata.
    1. Nella pagina della console Cloud, fai clic sul menu di navigazione .
    2. Nella sezione Analytics, fai clic su BigQuery.
    3. Espandi il progetto e verifica che il set di dati bq_tutorial sia elencato.
    4. Espandi il set di dati bq_tutorial e verifica che la tabella tutorial sia elencata.
    5. Fai clic sulla tabella dei documenti per visualizzare lo schema.

Crea una connessione BigQuery

Il passaggio successivo consiste nel creare una connessione BigQuery. Una connessione BigQuery consente di inserire, leggere, aggiornare ed eliminare righe in una tabella BigQuery e utilizzare l'output risultante in un'integrazione. Dopo aver creato la connessione BigQuery, utilizzerai questa connessione in un'integrazione più avanti in questo tutorial per aggiungere righe alla tabella BigQuery.

Per creare una connessione BigQuery, completa i seguenti passaggi:

  1. Nella pagina della console Cloud, seleziona il progetto Google Cloud.
  2. Apri la pagina dei collegamenti.
  3. Fai clic su + CREA NUOVO per aprire la pagina Crea connessione.
  4. Configura la connessione:
    1. Nella sezione Crea connessione, completa i seguenti passaggi:
      • Connettore: seleziona BigQuery dall'elenco a discesa dei connettori disponibili.
      • Versione connettore: seleziona la versione più recente del connettore dall'elenco a discesa delle versioni disponibili.
      • Nel campo Nome connessione, inserisci un nome per l'istanza di connessione. Per questo tutorial, inserisci connector-bq-tutorial.
      • Facoltativamente, aggiungi una descrizione dell'istanza di connessione.
      • Account di servizio: seleziona un account di servizio con i ruoli richiesti.
      • ID progetto: inserisci l'ID del progetto Google Cloud in cui si trovano i dati BigQuery.
      • ID set di dati: inserisci l'ID del set di dati BigQuery da utilizzare. Per questo tutorial, inserisci bq_tutorial.
      • (Facoltativo) Fai clic su + AGGIUNGI ETICHETTA per aggiungere un'etichetta sotto forma di coppia chiave-valore.
      • Tocca Avanti.
    2. Località: seleziona una regione da cui verrà eseguita la connessione. Le regioni supportate per i connettori includono:

        Per l'elenco di tutte le regioni supportate, vedi Località.

      • Tocca Avanti.
    3. Autenticazione: la connessione BigQuery non richiede la configurazione dell'autenticazione. Fai clic su Avanti.
    4. Verifica: esamina i dettagli di configurazione della connessione. In questa sezione vengono visualizzati i dettagli della connessione e dell'autenticazione della nuova connessione, che puoi esaminare.
  5. Fai clic su Crea.

Configura un'integrazione secondaria

In questo tutorial, l'integrazione secondaria prende ogni record inviato dall'integrazione principale e lo inserisce come riga nella tabella tutorial nel set di dati bq_tutorial.

Crea un'integrazione secondaria

Per creare l'integrazione secondaria, completa i seguenti 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 Create integration (Crea integrazione).
  4. Nella finestra di dialogo Crea integrazione, segui questi passaggi:
    • Inserisci un nome, ad esempio inserisci Process-each-record
    • (Facoltativo) Inserisci una descrizione. Ad esempio, inserisci Trigger API per elaborare ogni record (integrazione secondaria).
    • Seleziona la regione in cui vuoi creare l'integrazione.
  5. Fai clic su Crea per aprire l'editor di integrazione.

Aggiungi un trigger API

Per aggiungere un trigger API all'integrazione:

  1. Nell'editor di integrazione, seleziona Aggiungi un'attività/un attivatore > Trigger per visualizzare un elenco dei trigger disponibili.
  2. Trascina l'elemento Trigger API nell'editor di integrazione.

Aggiungi un'attività di mappatura dei dati

Per aggiungere un'attività di mappatura dei dati nell'integrazione, segui questi passaggi:

  1. Seleziona + Aggiungi un'attività/un attivatore > Tasks nell'editor di integrazione per visualizzare l'elenco delle attività disponibili.
  2. Trascina l'elemento Mappatura dei dati nell'editor di integrazione.

Configurare la connessione BigQuery

Ora è tutto pronto per utilizzare la connessione BigQuery creata in precedenza nell'integrazione secondaria. Per configurare la connessione BigQuery in questa integrazione, completa i seguenti passaggi:

  1. Seleziona + Aggiungi un'attività/un attivatore > Tasks nell'editor di integrazione per visualizzare l'elenco delle attività disponibili.
  2. Trascina l'elemento Connettori nell'editor di integrazione.
  3. Fai clic sull'elemento dell'attività Connettori nel designer per visualizzare il riquadro di configurazione delle attività.
  4. Fai clic sull'icona di modifica nel riquadro a destra e aggiorna l'etichetta in Inserisci riga in BigQuery.
  5. Fai clic su Configura attività.

    Viene visualizzata la finestra di dialogo Configura l'attività del connettore.

  6. Nella finestra di dialogo Configura l'attività del connettore, segui questi passaggi:
    1. Seleziona la regione in cui hai creato la connessione BigQuery.
    2. Seleziona la connessione BigQuery che vuoi utilizzare. Per questo tutorial, seleziona connector-bq-tutorial.
    3. Una volta scelta una connessione, viene visualizzata la colonna Tipo. Seleziona Entità, quindi tutorial 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 la finestra di dialogo.

Collega gli elementi di integrazione

Quindi, aggiungi le connessioni perimetrali per connettere il trigger API all'attività Mappatura dei dati e l'attività Mappatura dei dati all'attività Connettori. Una connessione perimetrale è una connessione tra due elementi qualsiasi in un'integrazione. Per ulteriori informazioni sulle condizioni dei bordi, vedi Bordi.

Per aggiungere le connessioni perimetrali, completa i seguenti passaggi:

  1. Fai clic sul punto di controllo Fork nella parte inferiore dell'elemento Trigger API. Trascina la connessione perimetrale nel punto di controllo Join nella parte superiore dell'elemento Data Mapping.
  2. Fai clic sul punto di controllo Fork nella parte inferiore dell'elemento Data Mapping. Trascina la connessione perimetrale nel punto di controllo Join nella parte superiore dell'elemento Connectors.

Configura l'attività di mappatura dei dati

Per configurare l'attività di mappatura dei dati, completa i seguenti passaggi:

  1. Nell'editor di integrazione, fai clic sull'attività Mappatura dei dati per visualizzare il riquadro di configurazione dell'attività.
  2. Fai clic su Apri editor di mappatura dei dati.
  3. In Editor mappatura dati, fai clic su Aggiungi per aggiungere una nuova variabile.
  4. Nella finestra di dialogo Crea variabile, inserisci le informazioni seguenti:
    • Nome: inserisci record.
    • Tipo di dati: seleziona JSON.
    • Schema: seleziona Deduci da un payload JSON di esempio. Inserisci il seguente payload JSON di esempio:
                  {
                    "unique_key":"304271",
                    "created_date":"02/06/2007 12:00:00 AM",
                    "closed_date":"03/01/2007 12:00:00 AM",
                    "agency":"TLC",
                    "agency_name":"Taxi and Limousine Commission",
                    "complaint_type":"Taxi Complaint",
                    "descriptor":"Driver Complaint",
                    "location_type":"Street",
                    "incident_zip":"10001",
                    "incident_address":"",
                    "street_name":"",
                    "cross_street_1":"",
                    "cross_street_2":"",
                    "intersection_street_1":"WEST 29 STREET",
                    "intersection_street_2":"7 AVENUE",
                    "address_type":"INTERSECTION",
                    "city":"NEW YORK",
                    "landmark":"",
                    "facility_type":"N/A",
                    "status":"Closed",
                    "due_date":"02/28/2007 12:00:00 AM",
                    "resolution_action_updated_date":"03/01/2007 12:00:00 AM",
                    "community_board":"05 MANHATTAN",
                    "borough":"MANHATTAN",
                    "x_coordinate_state_plane":"986215",
                    "y_coordinate_state_plane":"211740",
                    "park_facility_name":"",
                    "park_borough":"MANHATTAN",
                    "school_name":"",
                    "school_number":"",
                    "school_region":"",
                    "school_code":"",
                    "school_phone_number":"",
                    "school_address":"",
                    "school_city":"",
                    "school_state":"",
                    "school_zip":"",
                    "school_not_found":"",
                    "school_or_citywide_complaint":"",
                    "vehicle_type":"",
                    "taxi_company_borough":"",
                    "taxi_pick_up_location":"Other",
                    "bridge_highway_name":"",
                    "bridge_highway_direction":"",
                    "road_ramp":"",
                    "bridge_highway_segment":"",
                    "garage_lot_name":"",
                    "ferry_direction":"",
                    "ferry_terminal_name":"",
                    "latitude":"40.74785373937869",
                    "longitude":"-73.99290823133913",
                    "location":"(40.74785373937869, -73.99290823133913)"
                  }
                
  5. Fai clic su Crea.
  6. Una volta creata la variabile, nell'Editor di mappatura dei dati, segui questi passaggi:
    • Trascina la nuova variabile record nella colonna Input.
    • Trascina la variabile connectorInputPayload nella colonna Output.
  7. Chiudi l'Editor mappatura dati per tornare all'editor di integrazione.

Pubblica l'integrazione secondaria

Per pubblicare l'integrazione secondaria, fai clic su Pubblica nell'editor di integrazione.

Configura l'integrazione principale

In questa sezione configurerai l'integrazione principale, che utilizza un'attività Per ogni parallelo per elaborare ogni record. Questa integrazione principale richiama quindi l'integrazione secondaria una volta per ogni record.

Crea l'integrazione principale

Per creare l'integrazione principale, completa i seguenti 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 Create integration (Crea integrazione).
  4. Nella finestra di dialogo Crea integrazione, segui questi passaggi:
    • Inserisci un nome, ad esempio process-records.
    • (Facoltativo) Inserisci una descrizione. Ad esempio, inserisci Trigger API per elaborare i record (integrazione principale).
    • Seleziona la regione in cui vuoi creare l'integrazione.
  5. Fai clic su Crea per aprire l'editor di integrazione.

Aggiungi un trigger API

Per aggiungere un trigger API all'integrazione:

  1. Nell'editor di integrazione, seleziona Aggiungi un'attività/un attivatore > Trigger per visualizzare un elenco dei trigger disponibili.
  2. Trascina l'elemento Trigger API nell'editor di integrazione.

Aggiungi un'attività per ogni attività parallela

Per aggiungere un'attività Per ogni parallelo nell'integrazione, completa i seguenti passaggi:

  1. Seleziona + Aggiungi un'attività/un attivatore > Tasks nell'editor di integrazione per visualizzare l'elenco delle attività disponibili.
  2. Trascina l'elemento For Every Parallel nell'editor di integrazione.

Collega gli elementi di integrazione

Quindi, aggiungi una connessione perimetrale per connettere il trigger API all'attività Per ogni parallelo.

Per aggiungere la connessione perimetrale, fai clic sul punto di controllo Fork nella parte inferiore dell'elemento trigger API. Trascina la connessione perimetrale nel punto di controllo Join nella parte superiore dell'elemento dell'attività Per ogni parallelo.

Configura l'attività Per ogni parallelo

Per configurare l'attività Per ogni parallelo, completa i seguenti passaggi:

  1. Nell'editor di integrazione, fai clic sull'attività Per ogni parallelo per visualizzare il riquadro di configurazione delle attività.
  2. In Selezione array > Elenco da iterare, fai clic su Aggiungi nuova variabile per aggiungere una nuova variabile.
  3. Nella finestra di dialogo Crea variabile, inserisci le informazioni seguenti:
    • Nome:inserisci records
    • Tipo di dati: seleziona JSON.
    • Schema: seleziona Deduci da un payload JSON di esempio. Inserisci il seguente payload JSON di esempio:
                    [{
                      "unique_key":"304271",
                      "created_date":"02/06/2007 12:00:00 AM",
                      "closed_date":"03/01/2007 12:00:00 AM",
                      "agency":"TLC",
                      "agency_name":"Taxi and Limousine Commission",
                      "complaint_type":"Taxi Complaint",
                      "descriptor":"Driver Complaint",
                      "location_type":"Street",
                      "incident_zip":"10001",
                      "incident_address":"",
                      "street_name":"",
                      "cross_street_1":"",
                      "cross_street_2":"",
                      "intersection_street_1":"WEST 29 STREET",
                      "intersection_street_2":"7 AVENUE",
                      "address_type":"INTERSECTION",
                      "city":"NEW YORK",
                      "landmark":"",
                      "facility_type":"N/A",
                      "status":"Closed",
                      "due_date":"02/28/2007 12:00:00 AM",
                      "resolution_action_updated_date":"03/01/2007 12:00:00 AM",
                      "community_board":"05 MANHATTAN",
                      "borough":"MANHATTAN",
                      "x_coordinate_state_plane":"986215",
                      "y_coordinate_state_plane":"211740",
                      "park_facility_name":"",
                      "park_borough":"MANHATTAN",
                      "school_name":"",
                      "school_number":"",
                      "school_region":"",
                      "school_code":"",
                      "school_phone_number":"",
                      "school_address":"",
                      "school_city":"",
                      "school_state":"",
                      "school_zip":"",
                      "school_not_found":"",
                      "school_or_citywide_complaint":"",
                      "vehicle_type":"",
                      "taxi_company_borough":"",
                      "taxi_pick_up_location":"Other",
                      "bridge_highway_name":"",
                      "bridge_highway_direction":"",
                      "road_ramp":"",
                      "bridge_highway_segment":"",
                      "garage_lot_name":"",
                      "ferry_direction":"",
                      "ferry_terminal_name":"",
                      "latitude":"40.74785373937869",
                      "longitude":"-73.99290823133913",
                      "location":"(40.74785373937869, -73.99290823133913)"
                    }]
                  
  4. Fai clic su Crea.
  5. Nella sezione Dettagli dell'integrazione secondaria, inserisci le informazioni seguenti:
    • ID trigger API: seleziona l'elemento trigger API nell'integrazione secondaria. Ad esempio, seleziona Process-each-record_API_1.
    • Strategia di esecuzione: seleziona ASYNC.
    • Seleziona Esegui una singola integrazione.
  6. Nella sezione In ogni esecuzione, in Dove mappare i singoli elementi dell'array, inserisci il nome della variabile nell'attività di mappatura dei dati nell'integrazione secondaria. In questo caso, inserisci record. Le variabili di integrazione secondaria sono elencate solo per le integrazioni pubblicate. Se le variabili non sono elencate, aggiorna la pagina, poiché dopo la pubblicazione dell'integrazione secondaria è necessario un po' di tempo prima che siano visibili.

Pubblica l'integrazione principale

Per pubblicare l'integrazione principale, fai clic su Pubblica nell'editor dell'integrazione.

Testare l'integrazione

Per testare l'integrazione, completa i seguenti passaggi:

  1. Scarica i dati di esempio in Cloud Shell:
    1. Per avviare una sessione di Cloud Shell dalla console Google Cloud, fai clic sull'icona Icona Attiva Cloud Shell Attiva Cloud Shell nella console Cloud. Viene avviata una sessione nel riquadro inferiore della console Google Cloud.
    2. Inserisci il comando seguente nel terminale Cloud Shell:
      wget https://raw.githubusercontent.com/GoogleCloudPlatform/application-integration-samples/main/assets/bq-sample-dataset.json
              
    3. Per verificare che i dati di esempio siano stati scaricati, inserisci il seguente comando nel terminale Cloud Shell:
      ls -la bq-sample-dataset.json
      Il file scaricato viene elencato nel terminale Cloud Shell.
  2. Per selezionare tre voci casuali dal set di dati di esempio e archiviarle in modo da poterle passare all'integrazione, inserisci i seguenti comandi nel terminale Cloud Shell:
    AUTH=$(gcloud auth print-access-token)
    export SAMPLE_DOCS=$(jq $(r=$((RANDOM % 1000)) ; echo ".[$r:$((r + 3))]") < bq-sample-dataset.json | jq -Rs '.')
    
    generate_post_data()
      {
        cat <<EOF
          {
            "triggerId": "api_trigger/process-records_API_1",
            "inputParameters":
              {
                "records":
                  {
                    "jsonValue": $SAMPLE_DOCS
                  }
              }
          }
          EOF
      }
  3. Per avviare il test, inserisci il comando seguente nel terminale Cloud Shell:
    curl -X POST \
      https://integrations.googleapis.com/v1/projects/project_id/locations/region/integrations/process-records:execute \
      -H "Authorization: Bearer $AUTH" \
      -H "Content-Type: application/json" \
      -d "$(generate_post_data)"
    In questo comando, sostituisci:
    • project_id con l'ID del tuo progetto Google Cloud.
    • region con la regione in cui hai creato l'integrazione.
    Questo comando richiama l'integrazione principale e passa le voci dal set di dati di esempio all'integrazione principale. L'integrazione principale passa quindi ogni voce all'integrazione secondaria, che aggiunge i dati come riga nella tabella BigQuery.
  4. Per verificare che la tabella BigQuery contenga questi record:
    1. Nella pagina della console Cloud, fai clic sul menu di navigazione .
    2. Nella sezione Analytics, fai clic su BigQuery.
    3. Espandi il progetto e fai clic sul set di dati bq_tutorial.
    4. Espandi il set di dati bq_tutorial e fai clic sulla tabella tutorial.
    5. Fai clic sulla scheda Esplora tabelle per visualizzare i record inseriti.

Passaggi successivi

Prova a creare integrazioni con altri connettori. Per l'elenco di tutti i connettori supportati, consulta la documentazione di riferimento sui connettori.