Gestire le connessioni
Questo documento descrive come visualizzare, elencare, condividere, modificare, eliminare e risolvere i problemi di una connessione a BigQuery.
In qualità di amministratore BigQuery, puoi creare e gestire le connessioni utilizzate per la connessione a servizi e origini dati esterne. Gli analisti BigQuery utilizzano queste connessioni per inviare query su origini dati esterne senza spostare o copiare dati in BigQuery. Puoi creare i seguenti tipi di connessioni:
- Connessioni Amazon S3
- Connessioni Spark Apache
- Connessioni di archiviazione BLOB
- Connessioni alle risorse cloud per la connessione ai dati di Cloud Storage e per implementare funzioni remote.
- Connessioni Spanner
- Connessioni Cloud SQL
Prima di iniziare
Abilita l'API BigQuery Connection.
Assicurati di poter visualizzare un elenco di account di servizio nel tuo progetto. BigQuery crea e utilizza un account di servizio per connettersi all'origine dati esterna. Quando crei una connessione, viene creato un account di servizio Identity and Access Management (IAM) gestito da Google Cloud per tuo conto. Per visualizzare l'account di servizio collegato a una determinata connessione, visualizza i dettagli della connessione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per gestire le connessioni, chiedi all'amministratore di concederti i ruoli IAM seguenti:
-
Visualizza i dettagli della connessione:
Utente connessione BigQuery (
roles/bigquery.connectionUser
) sul tuo set di dati -
Elenco di tutte le connessioni:
Utente connessione BigQuery (
roles/bigquery.connectionUser
) sul tuo set di dati -
Condividi una connessione:
Amministratore connessione BigQuery (
roles/bigquery.connectionAdmin
) sulla tua connessione -
Modifica una connessione:
Amministratore connessione BigQuery (
roles/bigquery.connectionAdmin
) sulla tua connessione -
Elimina una connessione:
Amministratore connessione BigQuery (
roles/bigquery.connectionAdmin
) sulla tua connessione
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire le attività in questo documento. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
- Visualizza dettagli connessione:
bigquery.connections.get
- Elenca tutte le connessioni:
bigquery.connections.list
- Modifica ed elimina un collegamento:
bigquery.connections.update
- Condividi una connessione:
bigquery.connections.setIamPolicy
Potresti essere in grado di ottenere queste autorizzazioni anche con i ruoli personalizzati o altri ruoli predefiniti.
Elenco di tutte le connessioni
Seleziona una delle seguenti opzioni:
Console
Vai alla pagina BigQuery.
Le connessioni sono elencate nel progetto in un gruppo chiamato Connessioni esterne.
Nel riquadro Explorer, fai clic sul nome del progetto > Connessioni esterne per visualizzare un elenco di tutte le connessioni.
bq
Inserisci il comando bq ls
e specifica il flag --connection
. Facoltativamente,
specifica i flag --project_id
e --location
per identificare il progetto
e la località delle connessioni da elencare.
bq ls --connection --project_id=PROJECT_ID --location=REGION
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto Google CloudREGION
: la regione della connessione
API
Utilizza il metodo projects.locations.connections.list
nella sezione di riferimento dell'API REST.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java disponibili nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione in BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Visualizzazione dei dettagli della connessione
Dopo aver creato una connessione, puoi ottenere informazioni sulla sua configurazione. La configurazione include i valori forniti al momento della creazione del trasferimento.
Seleziona una delle seguenti opzioni:
Console
Vai alla pagina BigQuery.
Le connessioni sono elencate nel progetto, in un gruppo chiamato Connessioni esterne.
Nel riquadro Explorer, fai clic sul nome del progetto > Connessioni esterne > connessione.
bq
Inserisci il comando bq show
e specifica il flag --connection
. (Facoltativo) Specifica l'ID connessione con l'ID progetto e la regione della connessione.
bq show --connection PROJECT_ID.REGION.CONNECTION_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto Google CloudREGION
: la regione della connessioneCONNECTION_I
: l'ID connessione
API
Utilizza il metodo projects.locations.connections.get
nella sezione di riferimento dell'API REST.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java disponibili nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione in BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Condividere una connessione con gli utenti
Puoi concedere i ruoli seguenti per consentire agli utenti di eseguire query sui dati e gestire le connessioni:
roles/bigquery.connectionUser
: consente agli utenti di utilizzare le connessioni per connettersi a origini dati esterne ed eseguire query su di esse.roles/bigquery.connectionAdmin
: consente agli utenti di gestire le connessioni.
Per ulteriori informazioni sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Autorizzazioni e ruoli predefiniti.
Seleziona una delle seguenti opzioni:
Console
Vai alla pagina BigQuery.
Le connessioni sono elencate nel progetto in un gruppo chiamato Connessioni esterne.
Nel riquadro Explorer, fai clic sul nome del progetto > Connessioni esterne > connessione.
Nel riquadro Dettagli, fai clic su Condividi per condividere una connessione. Quindi:
Nella finestra di dialogo Autorizzazioni di connessione, condividi la connessione con altre entità aggiungendo o modificando entità.
Fai clic su Salva.
bq
Non puoi condividere una connessione con lo strumento a riga di comando bq. Per condividere una connessione, utilizza la console Google Cloud o il metodo dell'API BigQuery Connections per condividere una connessione.
API
Utilizza il metodo projects.locations.connections.setIAM
nella sezione di riferimento dell'API REST BigQuery Connections e fornisci un'istanza della risorsa policy
.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java disponibili nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione in BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Modificare una connessione
Una connessione utilizza le credenziali dell'utente che l'ha creata. Se devi modificare l'utente collegato a una connessione, puoi aggiornare le sue credenziali. Questo è utile se l'utente che ha creato la connessione non fa più parte della tua organizzazione.
Non puoi modificare i seguenti elementi di una connessione:
- Tipo di connessione
- ID connessione
- Località
Seleziona una delle seguenti opzioni:
Console
Vai alla pagina BigQuery.
Le connessioni sono elencate nel progetto in un gruppo chiamato Connessioni esterne.
Nel riquadro Explorer, fai clic sul nome del progetto > Connessioni esterne > connessione.
Nel riquadro Dettagli, per modificare i dettagli, fai clic su
Modifica dettagli. Quindi:Nella finestra di dialogo Modifica connessione, modifica i dettagli della connessione, incluse le credenziali utente.
Fai clic su Aggiorna connessione.
bq
Inserisci il comando bq update
e fornisci il flag di connessione:
--connection
. Il campo connection_id
completo è obbligatorio.
bq update --connection --connection_type='CLOUD_SQL' --properties='{"instanceId" : "INSTANCE", "database" : "DATABASE", "type" : "MYSQL" }' --connection_credential='{"username":"USERNAME", "password":"PASSWORD"}' PROJECT.REGION.CONNECTION_ID
Sostituisci quanto segue:
INSTANCE
: l'istanza Cloud SQLDATABASE
: il nome del databaseUSERNAME
: il nome utente del database Cloud SQLPASSWORD
: la password per il database Cloud SQLPROJECT
: l'ID del progetto Google CloudREGION
: la regione della connessioneCONNECTION_ID
: l'ID connessione
Ad esempio, il comando seguente aggiorna la connessione in un progetto con ID federation-test
e ID connessione test-mysql
.
bq update --connection --connection_type='CLOUD_SQL' --properties='{"instanceId" : "federation-test:us-central1:new-mysql", "database" : "imdb2", "type" : "MYSQL" }' --connection_credential='{"username":"my_username", "password":"my_password"}' federation-test.us.test-mysql
API
Consulta il metodo projects.locations.connections.patch
nella sezione di riferimento dell'API REST e fornisci un'istanza di connection
.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java disponibili nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione in BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Eliminare un collegamento
Seleziona una delle seguenti opzioni:
Console
Vai alla pagina BigQuery.
Le connessioni sono elencate nel progetto in un gruppo chiamato Connessioni esterne.
Nel riquadro Explorer, fai clic sul nome del progetto > Connessioni esterne > connessione.
Nel riquadro Dettagli, fai clic su
Elimina per eliminare il collegamento.Nella finestra di dialogo Vuoi eliminare il collegamento?, inserisci
delete
per confermare l'eliminazione.Fai clic su Elimina.
bq
Inserisci il comando bq rm
e fornisci il flag di connessione:
--connection
. Il campo connection_id
completo è obbligatorio.
bq rm --connection PROJECT_ID.REGION.CONNECTION_ID
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progetto Google CloudREGION
: la regione della connessioneCONNECTION_ID
: l'ID connessione
API
Vedi il metodo projects.locations.connections.delete
nella sezione di riferimento dell'API REST.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java disponibili nella guida rapida di BigQuery sull'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API BigQuery Java.
Per eseguire l'autenticazione in BigQuery, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Passaggi successivi
- Scopri come utilizzare le funzioni remote.
- Scopri come utilizzare le stored procedure per Apache Spark.