BigQuery

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

Prima di iniziare

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

  • Nel tuo progetto Google Cloud:
    • 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 autenticarsi ed essere autorizzato ad accedere ai dati nelle API di Google. Se non hai un account di servizio, devi crearne uno. Per maggiori informazioni, consulta la pagina Creazione di un account di servizio.

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

      Per informazioni su come abilitare i servizi, vedi Attivazione dei servizi.

    Se questi servizi o autorizzazioni non sono stati abilitati in precedenza per il tuo progetto, ti viene richiesto di abilitarli durante la configurazione del connettore.

Configura il connettore

Per configurare il connettore è necessario creare una connessione all'origine dati (sistema di backend). Una connessione è specifica per un'origine dati. Se disponi di molte origini dati, devi creare una connessione separata 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 Posizione, scegli la località per la connessione.
    1. Regione: seleziona una località dall'elenco a discesa.

      Per l'elenco di tutte le aree geografiche supportate, consulta la sezione 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 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 63 caratteri.
    4. Facoltativamente, inserisci una descrizione per l'istanza di connessione.
    5. Account di servizio: seleziona un account di servizio con i ruoli richiesti.
    6. Facoltativamente, 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 un numero inferiore di transazioni. Per capire in che modo i nodi influiscono sui prezzi del connettore, consulta Prezzi dei nodi di connessione. Se non inserisci alcun valore, per impostazione predefinita il numero minimo di nodi viene impostato su 2 (per una migliore disponibilità) e il numero massimo di nodi viene impostato su 50.

    7. ID progetto: l'ID del progetto Google Cloud in cui si trovano i dati.
    8. ID set di dati: l'ID del set di dati BigQuery.
    9. Utilizza proxy: seleziona questa casella di controllo per configurare un server proxy per la connessione e configurare i seguenti valori:
      • Schema di autenticazione proxy: seleziona il tipo di autenticazione per eseguire 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 secret di Secret Manager della password dell'utente.
      • Tipo SSL proxy: il tipo SSL da utilizzare per la connessione al server proxy. Sono supportati i seguenti tipi di autenticazione:
        • Automatica: l'impostazione predefinita. Se l'URL è HTTPS, viene utilizzata l'opzione Tunnel. Se l'URL è HTTP, viene utilizzata l'opzione MAI.
        • Sempre: la connessione è sempre SSL abilitata.
        • Mai: la connessione non è abilitata per SSL.
        • Tunnel: la connessione avviene attraverso un proxy di tunneling. Il server proxy apre una connessione con l'host remoto e il traffico passa 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.

            Se vuoi stabilire una connessione privata al tuo sistema di backend, segui questi passaggi:

    10. Facoltativamente, fai clic su + AGGIUNGI ETICHETTA per aggiungere un'etichetta alla connessione sotto forma di coppia chiave/valore.
    11. Fai clic su AVANTI.
  5. Nella sezione Autenticazione, inserisci i dettagli di autenticazione.
    1. La connessione BigQuery non richiede alcuna autenticazione.
    2. Fai clic su AVANTI.
  6. Verifica: controlla i dettagli della connessione e dell'autenticazione.
  7. Fai clic su Crea.

Entità, operazioni e azioni

Tutti i connettori di integrazione forniscono un livello di astrazione per gli oggetti dell'applicazione connessa. Puoi accedere agli oggetti di un'applicazione solo tramite questa astrazione. L'astrazione ti viene esposta sotto forma di entità, operazioni e azioni.

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

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

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

    Selezionando un'entità dall'elenco disponibile, viene generato un elenco di operazioni disponibili per l'entità. Per una descrizione dettagliata delle operazioni, consulta le operazioni sull'entità dell'attività Connectors. Tuttavia, se un connettore non supporta nessuna delle operazioni relative alle entità, le operazioni non supportate non saranno elencate nell'elenco Operations.

  • Azione: un'azione è una funzione di prima classe resa disponibile per l'integrazione tramite l'interfaccia del connettore. Un'azione consente di apportare modifiche a una o più entità e variare da connettore a connettore. Normalmente, 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 di sistema

Il connettore BigQuery può elaborare un massimo di 8 transazioni al secondo per nodo e limita qualsiasi transazione oltre questo limite. Per impostazione predefinita, Integration Connectors alloca due nodi (per una migliore 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:

  • GRANDE
  • BINARIO
  • BIT
  • BOOLEANO
  • CHAR
  • DATA
  • DECIMALE
  • DOPPIO
  • FLOAT
  • INTEGER
  • LONGN VARCHAR
  • VARCAR LUNGO
  • NCHAR
  • NUMERIC
  • NVARCHAR
  • REALE
  • INT PICCOLO
  • TEMPO
  • TIMESTAMP
  • TINY INT
  • VARBINARIO
  • VARCHAR

Problemi noti

Il connettore BigQuery non supporta la chiave primaria in una tabella BigQuery. Significa che non puoi eseguire le operazioni di recupero, aggiornamento ed eliminazione dell'entità utilizzando un'entità entityId. In alternativa, puoi utilizzare la clausola del filtro per filtrare i record in base a un ID.

Azioni

Questa sezione descrive le azioni disponibili nel connettore BigQuery.

Annulla azione job

Questa azione consente di annullare un job BigQuery in esecuzione.

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

Nome parametro Tipo di dati Descrizione
JobId String L'ID del job da annullare. Questo campo è obbligatorio.
Regione String La regione in cui il job è attualmente in esecuzione. Questa operazione non è necessaria 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 String L'ID del job per il quale vuoi recuperare la configurazione. Questo campo è obbligatorio.
Regione String La regione in cui il job è attualmente in esecuzione. Questa operazione non è necessaria se il job si trova in una regione degli Stati Uniti o dell'UE.

Inserisci azione job

Questa azione 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 String La query da inviare a BigQuery. Questo campo è obbligatorio.
IsDML String Deve essere impostato su true se la query è un'istruzione DML o su false altrimenti. Il valore predefinito è false.
DestinationTable String Tabella di destinazione per la query, nel formato DestProjectId:DestDatasetId.DestTable.
WriteDisposition String Specifica come scrivere dati nella tabella di destinazione, ad esempio troncare i risultati esistenti, aggiungerli 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 String Specifica se l'esecuzione del job è una prova.
MaximumBytesBilled String Specifica i byte massimi che possono essere elaborati dal job. BigQuery annulla il job se tenta di elaborare più byte rispetto al valore specificato.
Regione String Specifica la regione in cui deve essere eseguito il job.

Azione InsertLoadJob

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

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

Nome parametro Tipo di dati Descrizione
SourceURIs String Un elenco di URI di Google Cloud Storage separati da spazi.
SourceFormat String Il formato di origine dei file. Di seguito sono riportati i valori supportati:
  • AVRO
  • NEWLINE_DELIMITED_JSON
  • DATASTORE_BACKUP
  • PARQUET
  • ORC
  • CSV
DestinationTable String Tabella di destinazione per la query, nel formato DestProjectId.DestDatasetId.DestTable.
DestinationTableProperties String Un oggetto JSON che specifica il nome semplice, la descrizione e l'elenco di etichette delle tabelle.
DestinationTableSchema String Un elenco JSON che specifica i campi utilizzati per creare la tabella.
DestinationEncryptionConfiguration String Un oggetto JSON che specifica le impostazioni di crittografia KMS per la tabella.
SchemaUpdateOptions String Un elenco JSON che specifica le opzioni da applicare durante l'aggiornamento dello schema della tabella di destinazione.
TimePartitioning String Un oggetto JSON che specifica il tipo e il campo di partizionamento temporale.
RangePartitioning String Un oggetto JSON che specifica il campo di partizionamento degli intervalli e i bucket.
Clustering String Un oggetto JSON che specifica i campi da utilizzare per il clustering.
Rilevamento automatico String Consente di specificare se le opzioni e lo schema devono essere determinati automaticamente per i file JSON e CSV.
CreateDisposition String 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 String Specifica come scrivere i dati nella tabella di destinazione, ad esempio: troncare i risultati esistenti, aggiungere quelli 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 String 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 String Specifica se l'esecuzione del job è una prova. Il valore predefinito è false.
MaximumBadRecords String Specifica il numero di record che possono non essere validi prima che l'intero job venga annullato. Per impostazione predefinita, tutti i record devono essere validi. Il valore predefinito è 0.
IgnoreUnknownValues String Specifica se i campi sconosciuti devono essere ignorati nel file di input o devono essere considerati errori. Per impostazione predefinita, vengono trattati come errori. Il valore predefinito è false.
AvroUseLogicalTypes String Specifica se è necessario utilizzare tipi logici AVRO per convertire i dati AVRO in tipi BigQuery. Il valore predefinito è true.
CSVSkipLeadingRows String Specifica il numero di righe da saltare all'inizio dei file CSV. In genere viene utilizzato per saltare le righe di intestazione.
CSVEncoding String Tipo di codifica dei file CSV. Di seguito sono riportati i valori supportati:
  • ISO-8859-1
  • UTF-8
Il valore predefinito è UTF-8.
CSVNullMarker String 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 String Il carattere utilizzato per separare le colonne all'interno dei file CSV. Il valore predefinito è una virgola (,).
CSVQuote String Il carattere utilizzato per i campi tra virgolette nei file CSV. Può essere impostato su vuoto per disattivare le citazioni. Il valore predefinito sono le virgolette doppie (").
CSVAllowQuotedNewlines String Specifica se i file CSV possono contenere nuove righe all'interno dei campi tra virgolette. Il valore predefinito è false.
CSVAllowJaggedRows String Specifica se i file CSV possono contenere campi mancanti. Il valore predefinito è false.
DSBackupProjectionFields String Un elenco JSON dei campi da caricare da un backup del datastore Cloud.
ParquetOptions String Un oggetto JSON che specifica le opzioni di importazione specifiche di Parquet.
DecimalTargetTypes String Un elenco JSON con l'ordine di preferenza applicato ai tipi numerici.
HivePartitioningOptions String Un oggetto JSON che specifica le opzioni di partizionamento sul lato di origine.

Esegui query SQL personalizzata

Per creare una query personalizzata:

  1. Segui le istruzioni dettagliate per aggiungere un'attività dei 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, quindi fai clic su Fine.

    immagine che mostra l'esecuzione di una query personalizzata immagine che mostra l'esecuzione di una query personalizzata

  4. Espandi la sezione Input attività, quindi segui questi passaggi:
    1. Nel campo Timeout dopo, inserisci il numero di secondi di attesa prima che la query venga eseguita.

      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. Viene visualizzata la finestra di dialogo Editor di script.

      immagine che mostra custom-sql-query immagine che mostra custom-sql-query

    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 corrispondenti ai valori specificati per la colonna LastName:

      SELECT * FROM Employees where LastName=?

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

      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, vedi Comandi Terraform di base.

Per visualizzare un modello Terraform di esempio per la creazione di connessioni, vedi il modello di esempio.

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

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

Utilizzare la connessione BigQuery in un'integrazione

Dopo aver creato la connessione, la connessione diventa disponibile sia in Apigee Integration che in Application Integration. Puoi usare la connessione in un'integrazione tramite l'attività Connettori.

  • Per capire come creare e utilizzare l'attività Connectors in Apigee Integration, vedi Attività connettori.
  • Per capire come creare e utilizzare l'attività Connettori in Application Integration, vedi Attività connettori.

Ricevi assistenza dalla community Google Cloud

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

Passaggi successivi