BigQuery

Il connettore BigQuery ti consente di eseguire operazioni di inserimento, eliminazione, aggiornamento e lettura sui dati di Google BigQuery.

Prima di iniziare

Prima di utilizzare il connettore BigQuery, svolgi le seguenti attività:

  • Nel tuo progetto Google Cloud:
    • Assicurati che la connettività di rete sia configurata. Per informazioni sui pattern di rete, consulta Connettività di rete.
    • Concedi il ruolo IAM roles/connectors.admin all'utente che configura il connettore.
    • Concedi i seguenti ruoli IAM all'account di servizio che vuoi utilizzare per il connettore:
      • roles/bigquery.dataEditor

      Un account di servizio è un tipo speciale di Account Google destinato a rappresentare un utente "non umano" che deve eseguire l'autenticazione ed essere autorizzato ad accedere ai dati nelle API Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni, consulta Creare un account di servizio.

    • Attiva i seguenti servizi:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Per informazioni su come attivare i servizi, consulta Abilitazione dei servizi.

    Se questi servizi o autorizzazioni non sono stati attivati in precedenza per il tuo progetto, ti verrà chiesto di attivarli durante la configurazione del connettore.

Configura il connettore

Per configurare il connettore devi creare una connessione all'origine dati (sistema di backend). Una connessione è specifica per un'origine dati. Ciò significa che se hai molte origini dati, devi creare una connessione distinta per ciascuna. Per creare una connessione:

  1. Nella console Cloud, vai alla pagina Connettori di integrazione > Connessioni, quindi seleziona o crea un progetto Google Cloud.

    Vai alla pagina Connessioni

  2. Fai clic su + CREA NUOVO per aprire la pagina Crea connessione.
  3. Nella sezione Località, scegli la località della connessione.
    1. Regione: seleziona una località dall'elenco a discesa.

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

    2. Fai clic su AVANTI.
  4. Nella sezione Dettagli connessione, completa quanto segue:
    1. Connettore: seleziona BigQuery dall'elenco a discesa dei connettori disponibili.
    2. Versione del connettore: seleziona la versione del connettore dall'elenco a discesa delle versioni disponibili.
    3. Nel campo Nome connessione, inserisci un nome per l'istanza di connessione.

      I nomi delle connessioni devono soddisfare i seguenti criteri:

      • I nomi delle connessioni possono contenere lettere, numeri o trattini.
      • Le lettere devono essere minuscole.
      • I nomi delle connessioni devono iniziare con una lettera e terminare con una lettera o un numero.
      • I nomi delle connessioni non possono contenere più di 49 caratteri.
    4. (Facoltativo) Inserisci una Descrizione per l'istanza di connessione.
    5. Se vuoi, attiva Cloud Logging e poi seleziona un livello di log. Per impostazione predefinita, il livello di log è impostato su Error.
    6. Account di servizio: seleziona un account di servizio con i ruoli richiesti.
    7. (Facoltativo) Configura le impostazioni del nodo di connessione:

      • Numero minimo di nodi: inserisci il numero minimo di nodi di connessione.
      • Numero massimo di nodi: inserisci il numero massimo di nodi di connessione.

      Un nodo è un'unità (o una replica) di una connessione che elabora le transazioni. Sono necessari più nodi per elaborare più transazioni per una connessione e, al contrario, sono necessari meno nodi per elaborare meno transazioni. Per capire in che modo i nodi influiscono sui prezzi dei connettori, consulta Prezzi per i nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi è impostato su 2 (per una maggiore disponibilità) e il numero massimo di nodi è impostato su 50.

    8. ID progetto: l'ID del progetto Google Cloud in cui si trovano i dati.
    9. ID set di dati: l'ID del set di dati BigQuery.
    10. Per supportare il tipo di dati Array di BigQuery, seleziona Supporta i tipi di dati nativi. Sono supportati i seguenti tipi di array:
      • Varchar
      • Int64
      • Float64
      • Lungo
      • Doppio
      • Bool
      • Timestamp

      Gli array nidificati non sono supportati.

    11. Utilizza proxy: seleziona questa casella di controllo per configurare un server proxy per la connessione e configura i seguenti valori:
      • Schema di autenticazione proxy: seleziona il tipo di autenticazione per l'autenticazione con il server proxy. Sono supportati i seguenti tipi di autenticazione:
        • Di base: autenticazione HTTP di base.
        • Digest: autenticazione HTTP Digest.
      • Utente proxy: un nome utente da utilizzare per l'autenticazione con il server proxy.
      • Password proxy: il segreto di Secret Manager della password dell'utente.
      • Tipo SSL proxy: il tipo di SSL da utilizzare per la connessione al server proxy. Sono supportati i seguenti tipi di autenticazione:
        • Automatica: impostazione predefinita. Se l'URL è un URL HTTPS, viene utilizzata l'opzione Tunnel. Se l'URL è un URL HTTP, viene utilizzata l'opzione MAI.
        • Sempre: la connessione è sempre abilitata per SSL.
        • Mai: la connessione non è abilitata per SSL.
        • Tunnel: la connessione avviene tramite un proxy di tunneling. Il server proxy apre una connessione all'host remoto e il traffico fluisce avanti e indietro attraverso il proxy.
      • Nella sezione Server proxy, inserisci i dettagli del server proxy.
        1. Fai clic su + Aggiungi destinazione.
        2. Seleziona un Tipo di destinazione.
          • Indirizzo host: specifica il nome host o l'indirizzo IP della destinazione.

            Per stabilire una connessione privata al sistema di backend:

    12. Se vuoi, fai clic su + AGGIUNGI ETIQUETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
    13. Fai clic su AVANTI.
  5. Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
    1. Scegli se autenticarti con OAuth 2.0 - Codice di autorizzazione o se procedere senza autenticazione.

      Per scoprire come configurare l'autenticazione, consulta Configurare l'autenticazione.

    2. Fai clic su AVANTI.
  6. Rivedi: controlla i dettagli di connessione e autenticazione.
  7. Fai clic su Crea.

Configura autenticazione

Inserisci i dettagli in base all'autenticazione che vuoi utilizzare.

  • Nessuna autenticazione: seleziona questa opzione se non richiedi l'autenticazione.
  • OAuth 2.0 - Codice di autorizzazione: seleziona questa opzione per eseguire l'autenticazione utilizzando un flusso di accesso utente basato sul web. Specifica i seguenti dettagli:
    • ID client : l'ID client necessario per connetterti al tuo servizio Google di backend.
    • Ampi: un elenco separato da virgole degli ambiti desiderati. Per visualizzare tutti gli ambiti OAuth 2.0 supportati per il servizio Google richiesto, consulta la sezione pertinente nella pagina Ambiti OAuth 2.0 per le API di Google.
    • Client secret: seleziona il secret di Secret Manager. Devi aver creato il secret di Secret Manager prima di configurare questa autorizzazione.
    • Versione secret: la versione del secret di Secret Manager per il client secret.

    Per il tipo di autenticazione Authorization code, dopo aver creato la connessione, devi eseguire alcuni passaggi aggiuntivi per configurare l'autenticazione. Per ulteriori informazioni, consulta Passaggi aggiuntivi dopo la creazione della connessione.

Passaggi aggiuntivi dopo la creazione della connessione

Se hai selezionato OAuth 2.0 - Authorization code per l'autenticazione, devi eseguire i seguenti passaggi aggiuntivi dopo aver creato la connessione:

  1. Nella pagina Connessioni, individua la connessione appena creata.

    Tieni presente che lo stato del nuovo connettore sarà Autorizzazione richiesta.

  2. Fai clic su Autorizzazione obbligatoria.

    Viene visualizzato il riquadro Modifica autorizzazione.

  3. Copia il valore URI di reindirizzamento nell'applicazione esterna.
  4. Verifica i dettagli dell'autorizzazione.
  5. Fai clic su Autorizza.

    Se l'autorizzazione va a buon fine, lo stato della connessione verrà impostato su Attivo nella pagina Connessioni.

Nuova autorizzazione per il codice di autorizzazione

Se utilizzi il tipo di autenticazione Authorization code e hai apportato modifiche alla configurazione in BigQuery, devi autorizzare di nuovo la connessione BigQuery. Per autorizzare di nuovo una connessione, segui questi passaggi:

  1. Fai clic sulla connessione richiesta nella pagina Connessioni.

    Viene visualizzata la pagina dei dettagli della connessione.

  2. Fai clic su Modifica per modificare i dettagli della connessione.
  3. Verifica i dettagli di OAuth 2.0 - Codice di autorizzazione nella sezione Autenticazione.

    Se necessario, apporta le modifiche necessarie.

  4. Fai clic su Salva. Viene visualizzata la pagina dei dettagli della connessione.
  5. Fai clic su Modifica autorizzazione nella sezione Autenticazione. Viene visualizzato il riquadro Autorizza.
  6. Fai clic su Autorizza.

    Se l'autorizzazione va a buon fine, lo stato della connessione verrà impostato su Attivo nella pagina Connessioni.

Entità, operazioni e azioni

Tutti gli Integration Connectors forniscono un livello di astrazione per gli oggetti dell'applicazione collegata. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione viene mostrata come entità, operazioni e azioni.

  • Entità : un'entità può essere considerata un oggetto o una raccolta di proprietà nell'applicazione o nel servizio collegato. La definizione di un'entità varia da un connettore all'altro. Ad esempio, in un connettore di database le tabelle sono le entità, in un connettore di file server le cartelle sono le entità e in un connettore di sistema di messaggistica le code sono le entità.

    Tuttavia, è possibile che un connettore non supporti o non abbia entità, nel qual caso l'elenco Entities sarà vuoto.

  • Operazione: un'operazione è l'attività che puoi eseguire su un'entità. Puoi eseguire su un'entità una delle seguenti operazioni:

    La selezione di un'entità dall'elenco disponibile genera un elenco di operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta le operazioni sulle entità dell'attività Connettori. Tuttavia, se un connettore non supporta nessuna delle operazioni sulle entità, queste operazioni non supportate non sono elencate nell'elenco Operations.

  • Azione : un'azione è una funzione di prima classe resa disponibile all'integrazione tramite l'interfaccia del connettore. Un'azione ti consente di apportare modifiche a una o più entità e varia da un connettore all'altro. In genere, un'azione avrà alcuni parametri di input e un parametro di output. Tuttavia, è possibile che un connettore non supporti alcuna azione, nel qual caso l'elenco Actions sarà vuoto.

Limitazioni del sistema

Il connettore BigQuery può elaborare un massimo di 8 transazioni al secondo per nodo e limita le transazioni che superano questo limite. Per impostazione predefinita, Integration Connectors alloca 2 nodi (per una maggiore disponibilità) per una connessione.

Per informazioni sui limiti applicabili a Integration Connectors, vedi Limiti.

Tipi di dati supportati

Di seguito sono riportati i tipi di dati supportati per questo connettore:

  • ARRAY
  • BIGINT
  • BINARY
  • BIT
  • BOOLEANO
  • CHAR
  • DATA
  • DECIMALE
  • DOPPIO
  • FLOAT
  • INTEGER
  • LONGN VARCHAR
  • LONG VARCHAR
  • NCHAR
  • NUMERIC
  • NVARCHAR
  • REAL
  • INT PICCOLO
  • TEMPO
  • TIMESTAMP
  • TINY INT
  • VARBINARY
  • VARCHAR

Problemi noti

Il connettore BigQuery non supporta la chiave primaria in una tabella BigQuery. Ciò significa che non puoi eseguire le operazioni sulle entità Get, Update ed Delete utilizzando un entityId. In alternativa, puoi utilizzare la clausola filter per filtrare i record in base a un ID.

Azioni

Questa sezione descrive le azioni disponibili nel connettore BigQuery.

Azione CancelJob

Questa azione ti consente di annullare un job BigQuery in esecuzione.

La tabella seguente descrive i parametri di input dell'azione CancelJob.

Nome parametro Tipo di dati Descrizione
JobId Stringa L'ID del job che vuoi annullare. Questo campo è obbligatorio.
Regione Stringa La regione in cui è attualmente in esecuzione il job. Questo non è necessario se il job si trova in una regione degli Stati Uniti o dell'UE.

Azione GetJob

Questa azione consente di recuperare le informazioni di configurazione e lo stato di esecuzione di un job esistente.

La seguente tabella descrive i parametri di input dell'azione GetJob.

Nome parametro Tipo di dati Descrizione
JobId Stringa L'ID del job per cui vuoi recuperare la configurazione. Questo campo è obbligatorio.
Regione Stringa La regione in cui è attualmente in esecuzione il job. Questo non è necessario se il job si trova in una regione degli Stati Uniti o dell'UE.

Azione InsertJob

Questa azione ti consente di inserire un job BigQuery, che può essere selezionato in un secondo momento per recuperare i risultati della query.

La seguente tabella descrive i parametri di input dell'azione InsertJob.

Nome parametro Tipo di dati Descrizione
Query Stringa La query da inviare a BigQuery. Questo campo è obbligatorio.
IsDML Stringa Deve essere impostato su true se la query è un'istruzione DML o su false in caso contrario. Il valore predefinito è false.
DestinationTable Stringa La tabella di destinazione della query, nel formato DestProjectId:DestDatasetId.DestTable.
writeDisposition Stringa Specifica come scrivere i dati nella tabella di destinazione, ad esempio troncare i risultati esistenti, accodare i risultati esistenti o scrivere solo quando la tabella è vuota. Di seguito sono riportati i valori supportati:
  • WRITE_TRUNCATE
  • WRITE_APPEND
  • WRITE_EMPTY
Il valore predefinito è WRITE_TRUNCATE.
DryRun Stringa Specifica se l'esecuzione del job è una simulazione.
MaximumBytesBilled Stringa Specifica il numero massimo di byte che possono essere elaborati dal job. BigQuery annulla il job se il job tenta di elaborare più byte del valore specificato.
Regione Stringa Specifica la regione in cui deve essere eseguito il job.

Azione InsertLoadJob

Questa azione ti consente di inserire un job di caricamento BigQuery, che aggiunge i dati di Google Cloud Storage a una tabella esistente.

La tabella seguente descrive i parametri di input dell'azione InsertLoadJob.

Nome parametro Tipo di dati Descrizione
SourceURIs Stringa Un elenco di URI di Google Cloud Storage separati da spazi.
SourceFormat Stringa Il formato di origine dei file. Di seguito sono riportati i valori supportati:
  • AVRO
  • NEWLINE_DELIMITED_JSON
  • DATASTORE_BACKUP
  • PARQUET
  • ORC
  • CSV
DestinationTable Stringa La tabella di destinazione della query, nel formato DestProjectId.DestDatasetId.DestTable.
DestinationTableProperties Stringa Un oggetto JSON che specifica il nome visualizzato della tabella, la descrizione e l'elenco di etichette.
DestinationTableSchema Stringa Un elenco JSON che specifica i campi utilizzati per creare la tabella.
DestinationEncryptionConfiguration Stringa Un oggetto JSON che specifica le impostazioni di crittografia KMS per la tabella.
SchemaUpdateOptions Stringa Un elenco JSON che specifica le opzioni da applicare durante l'aggiornamento dello schema della tabella di destinazione.
TimePartitioning Stringa Un oggetto JSON che specifica il tipo e il campo di partizione del tempo.
RangePartitioning Stringa Un oggetto JSON che specifica il campo di partizione dell'intervallo e i bucket.
Clustering Stringa Un oggetto JSON che specifica i campi da utilizzare per il clustering.
Rilevamento automatico Stringa Specifica se le opzioni e lo schema devono essere determinati automaticamente per i file JSON e CSV.
CreateDisposition Stringa Specifica se è necessario creare la tabella di destinazione se non esiste già. Di seguito sono riportati i valori supportati:
  • CREATE_IF_NEEDED
  • CREATE_NEVER
Il valore predefinito è CREATE_IF_NEEDED.
writeDisposition Stringa Specifica come scrivere i dati nella tabella di destinazione, ad esempio troncare i risultati esistenti, accodare i risultati esistenti o scrivere solo quando la tabella è vuota. Di seguito sono riportati i valori supportati:
  • WRITE_TRUNCATE
  • WRITE_APPEND
  • WRITE_EMPTY
Il valore predefinito è WRITE_APPEND.
Regione Stringa Specifica la regione in cui deve essere eseguito il job. Sia le risorse Google Cloud Storage sia il set di dati BigQuery devono trovarsi nella stessa regione.
DryRun Stringa Specifica se l'esecuzione del job è una simulazione. Il valore predefinito è false.
MaximumBadRecords Stringa Specifica il numero di record che possono essere non validi prima dell'annullamento dell'intero job. Per impostazione predefinita, tutti i record devono essere validi. Il valore predefinito è 0.
IgnoreUnknownValues Stringa Specifica se i campi sconosciuti devono essere ignorati nel file di input o trattati come errori. Per impostazione predefinita, vengono trattati come errori. Il valore predefinito è false.
AvroUseLogicalTypes Stringa Specifica se devono essere utilizzati tipi logici AVRO per convertire i dati AVRO in tipi BigQuery. Il valore predefinito è true.
CSVSkipLeadingRows Stringa Specifica quante righe saltare all'inizio dei file CSV. Questo viene solitamente utilizzato per saltare le righe di intestazione.
CSVEncoding Stringa Tipo di codifica dei file CSV. Di seguito sono riportati i valori supportati:
  • ISO-8859-1
  • UTF-8
Il valore predefinito è UTF-8.
CSVNullMarker Stringa Se fornita, questa stringa viene utilizzata per i valori NULL all'interno dei file CSV. Per impostazione predefinita, i file CSV non possono utilizzare NULL.
CSVFieldDelimiter Stringa Il carattere utilizzato per separare le colonne all'interno dei file CSV. Il valore predefinito è una virgola (,).
CSVQuote Stringa Il carattere utilizzato per i campi tra virgolette nei file CSV. Può essere impostato su vuoto per disattivare le virgolette. Il valore predefinito è virgolette doppie (").
CSVAllowQuotedNewlines Stringa Specifica se i file CSV possono contenere interruzioni di riga all'interno dei campi tra virgolette. Il valore predefinito è false.
CSVAllowJaggedRows Stringa Specifica se i file CSV possono contenere campi mancanti. Il valore predefinito è false.
DSBackupProjectionFields Stringa Un elenco JSON di campi da caricare da un backup di Cloud Datastore.
ParquetOptions Stringa Un oggetto JSON che specifica le opzioni di importazione specifiche di Parquet.
DecimalTargetTypes Stringa Un elenco JSON che indica l'ordine di preferenza applicato ai tipi numerici.
HivePartitioningOptions Stringa Un oggetto JSON che specifica le opzioni di partizione lato sorgente.

Esegui una query SQL personalizzata

Per creare una query personalizzata:

  1. Segui le istruzioni dettagliate per aggiungere un'attività di connettori.
  2. Quando configuri l'attività del connettore, seleziona Azioni nel tipo di azione che vuoi eseguire.
  3. Nell'elenco Azione, seleziona Esegui query personalizzata e poi fai clic su Fine.

    immagine che mostra l'azione di esecuzione di query personalizzate immagine che mostra l'azione di esecuzione di query personalizzate

  4. Espandi la sezione Input attività ed esegui i seguenti passaggi:
    1. Nel campo Timeout dopo, inserisci il numero di secondi di attesa prima dell'esecuzione della query.

      Valore predefinito: 180 secondi.

    2. Nel campo Numero massimo di righe, inserisci il numero massimo di righe da restituire dal database.

      Valore predefinito: 25.

    3. Per aggiornare la query personalizzata, fai clic su Modifica script personalizzato. Si apre la finestra di dialogo Editor di script.

      immagine che mostra la query SQL personalizzata immagine che mostra la query SQL personalizzata

    4. Nella finestra di dialogo Editor di script, inserisci la query SQL e fai clic su Salva.

      Puoi utilizzare un punto interrogativo (?) in un'istruzione SQL per rappresentare un singolo parametro che deve essere specificato nell'elenco parametri di ricerca. Ad esempio, la seguente query SQL seleziona tutte le righe della tabella Employees che corrispondono ai valori specificati per la colonna LastName:

      SELECT * FROM Employees where LastName=?

    5. Se hai utilizzato punti interrogativi nella query SQL, devi aggiungere il parametro facendo clic su + Aggiungi nome parametro per ogni punto interrogativo. Durante l'esecuzione dell'integrazione, questi parametri sostituiscono in modo sequenziale i punti interrogativi (?) nella query SQL. Ad esempio, se hai aggiunto tre punti di domanda (?), devi aggiungere tre parametri in ordine di sequenza.

      immagine che mostra add-query-param immagine che mostra add-query-param

      Per aggiungere parametri di ricerca:

      1. Nell'elenco Tipo, seleziona il tipo di dati del parametro.
      2. Nel campo Valore, inserisci il valore del parametro.
      3. Per aggiungere più parametri, fai clic su + Aggiungi parametro di query.

Utilizzare Terraform per creare connessioni

Puoi utilizzare la risorsa Terraform per creare una nuova connessione.

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Per visualizzare un modello Terraform di esempio per la creazione di una connessione, consulta il modello di esempio.

Quando crei questa connessione utilizzando Terraform, devi impostare le seguenti variabili nel file di configurazione Terraform:

Nome parametro Tipo di dati Obbligatorio Descrizione
project_id STRING Vero L'ID del progetto contenente il set di dati BigQuery, ad esempio myproject.
dataset_id STRING Falso ID del set di dati BigQuery senza il nome del progetto, ad esempio mydataset.
proxy_enabled BOOLEANO Falso Seleziona questa casella di controllo per configurare un server proxy per la connessione.
proxy_auth_scheme ENUM Falso Il tipo di autenticazione da utilizzare per l'autenticazione al proxy ProxyServer. I valori supportati sono: BASIC, DIGEST, NONE
proxy_user STRING Falso Un nome utente da utilizzare per l'autenticazione al proxy ProxyServer.
proxy_password SECRET Falso Una password da utilizzare per l'autenticazione al proxy ProxyServer.
proxy_ssltype ENUM Falso Il tipo di SSL da utilizzare per la connessione al proxy ProxyServer. I valori supportati sono: AUTO, ALWAYS, NEVER, TUNNEL

Utilizzare la connessione BigQuery in un'integrazione

Una volta creata, la connessione diventa disponibile sia nell'Apigee Integration sia nell'Application Integration. Puoi utilizzare la connessione in un'integrazione tramite l'attività Connettori.

  • Per informazioni su come creare e utilizzare l'attività Connectors in Apigee Integration, consulta Attività Connectors.
  • Per informazioni su come creare e utilizzare l'attività Connettori in Application Integration, consulta Attività Connettori.

Ricevere assistenza dalla community Google Cloud

Puoi pubblicare le tue domande e discutere di questo connettore nella community Google Cloud ai forum di Cloud.

Passaggi successivi