Connettiti a Spanner
In qualità di amministratore BigQuery, puoi creare connection per accedere Dati Spanner. Questa connessione consente agli analisti di dati di eseguire query in Spanner.
Prima di iniziare
- Abilita l'API BigQuery Connection.
-
Per ottenere le autorizzazioni necessarie per la connessione a Spanner, chiedi all'amministratore di concederti Ruolo IAM Amministratore connessione BigQuery (
roles/bigquery.connectionAdmin
) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.Potresti anche riuscire a ottenere le autorizzazioni richieste tramite la ruoli o altri ruoli predefiniti ruoli.
Creare connessioni Spanner
Seleziona una delle seguenti opzioni:
Console
Vai alla pagina BigQuery.
Nel riquadro Explorer, fai clic su
Aggiungi e poi seleziona Connessioni a un'origine dati esterna.Nel riquadro Origine dati esterna, inserisci le seguenti informazioni:
- Per Tipo di connessione, seleziona Cloud Spanner.
- In ID connessione, inserisci un identificatore per la connessione. risorsa. Sono consentiti lettere, numeri e trattini bassi.
- In Tipo di località, seleziona un'istanza BigQuery località (o regione) compatibile con la regione esterna dell'origine dati.
- (Facoltativo) In Nome semplice, inserisci un nome semplice per il
come
My connection resource
. Il nome descrittivo può essere qualsiasi valore che ti aiuti a identificare la risorsa di connessione in un secondo momento. - (Facoltativo) Per Descrizione, inserisci una descrizione. risorsa di connessione.
- In Nome database, inserisci il nome dello Spanner
nel seguente formato:
"projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE"
- (Facoltativo) Per eseguire letture parallele, seleziona Leggi i dati in parallelo. Spanner può suddividere alcune query partizioni o partizioni più piccole e recupera le partizioni in parallelo. Per ulteriori informazioni, consulta Leggere i dati in parallelo nella documentazione di Spanner. Questa opzione è è limitata alle query il cui primo operatore nel piano di esecuzione è Un'unione distribuita operatore. Le altre query restituiscono un errore. Per visualizzare l'esecuzione della query per una query Spanner, consulta Informazioni su come Spanner esegue le query.
- (Facoltativo) Per Ruolo database, inserisci il nome di un
Ruolo database Spanner. Se non è vuoto,
query di connessione su Spanner utilizzando questo ruolo di database
per impostazione predefinita. Utenti di Spanner con controllo granulare dell'accesso che inviano
query tramite questa connessione
deve aver ricevuto l'accesso a questo ruolo
dall'amministratore,
e il ruolo del database deve avere il privilegio
SELECT
per tutti gli schemi per gli oggetti specificati nelle query esterne. Per informazioni su sul controllo granulare, consulta Informazioni sul controllo dell'accesso granulare. - (Facoltativo) Per abilitare Data Boost, seleziona Utilizza Spanner Data Boost. Aumento dati consente di eseguire query di analisi ed esportazioni dei dati con un impatto quasi zero sui carichi di lavoro esistenti BigQuery. Per attivare Data Boost, seleziona Data Boost e Leggi i dati in parallelo.
Fai clic su Crea connessione.
bq
Per creare la connessione, utilizza
Comando bq mk
con il flag --connection
.
bq mk --connection \ --connection_type=CLOUD_SPANNER \ --properties='PROPERTIES' \ --location=LOCATION \ --display_name='FRIENDLY_NAME' \ --description 'DESCRIPTION' \ CONNECTION_ID
Sostituisci quanto segue:
PROPERTIES
: un oggetto JSON con le seguenti caratteristiche campi:"database"
: il database Spanner per la connessioneSpecifica come stringa con il formato seguente:
"projects/PROJECT_ID/instances/INSTANCE/databases/DATABASE"
."use_parallelism"
: (facoltativo) setrue
, questa connessione viene eseguita letture paralleleIl valore predefinito è
false
. Spanner può dividere in parti più piccole, o partizioni, e recupera le partizioni parallelo. Per ulteriori informazioni, consulta Leggere i dati in parallelo nella documentazione di Spanner. Questa opzione è limitata alle query il cui primo operatore nel piano di esecuzione è un unione operatore. Le altre query restituiscono un errore. Per visualizzare l'esecuzione della query per una query Spanner, consulta Informazioni su come Spanner esegue le query."database_role"
: (facoltativo) se non è vuoto, la connessione esegue una query Spanner utilizza questo ruolo di database per impostazione predefinita. Utenti di Spanner con controllo granulare dell'accesso che inviano query tramite questa connessione deve aver ricevuto l'accesso a questo ruolo dall'amministratore, e il ruolo del database deve avere il privilegioSELECT
per tutti gli schemi per gli oggetti specificati nelle query esterne.Se non specificata, la connessione viene autenticata con i ruoli IAM predefiniti per Spanner le query in esecuzione sull'entità con questa connessione devono avere ha ottenuto l'autorizzazione IAM
roles/spanner.databaseReader
ruolo.Per informazioni su sul controllo granulare, consulta Informazioni sul controllo dell'accesso granulare.
"useDataBoost"
(facoltativo) setrue
, questa connessione consente agli utenti di utilizzare Data Boost. Data Boost consente agli utenti di eseguire query federate in una capacità di calcolo separata, indipendente e distinta dalle istanze di cui è stato eseguito il provisioning, per evitare di influire sui carichi di lavoro esistenti. Per attivare Data Boost, imposta"useDataBoost"
sutrue
e"use_parallelism"
sutrue
.Per utilizzare Data Boost, all'entità che esegue query con questa connessione deve essere stata concessa l'autorizzazione
spanner.databases.useDataBoost
. Questa autorizzazione è inclusa per impostazione predefinita nei ruoliroles/spanner.admin
eroles/spanner.databaseAdmin
.
LOCATION
: una località BigQuery che sia compatibile con la regione dell'origine dati esterna.CONNECTION_ID
: un identificatore per la connessione risorsaL'ID connessione può contenere lettere, numeri e trattini bassi. Se non fornisci un ID connessione, BigQuery genera automaticamente un ID univoco.
L'esempio seguente crea una nuova risorsa di connessione denominata
my_connection_id
.bq mk --connection \ --connection_type='CLOUD_SPANNER' \ --properties='{"database":"projects/my_project/instances/my_instance/databases/database1"}' \ --project_id=federation-test \ --location=us \ my_connection_id
API
Chiama il metodo CreateConnection
all'interno di
il servizio ConnectionService
.
Condividere le connessioni 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 con origini dati esterne ed eseguire query su di esse.roles/bigquery.connectionAdmin
: consente agli utenti di gestire le connessioni.
Per ulteriori informazioni su ruoli e autorizzazioni IAM in BigQuery, vedi Autorizzazioni e ruoli predefiniti.
Seleziona una delle seguenti opzioni:
Console
Vai alla pagina BigQuery.
Le connessioni sono elencate nel progetto, in un gruppo denominato Connessioni esterne.
Nel riquadro Explorer, fai clic sul nome del tuo progetto. > Connessioni esterne > connessione.
Nel riquadro Dettagli, fai clic su Condividi per condividere una connessione. Quindi:
Nella finestra di dialogo Autorizzazioni di connessione, condividi il connessione con altre entità aggiungendo o modificando tra cui scegliere.
Fai clic su Salva.
bq
Non puoi condividere una connessione con lo strumento a riga di comando bq. Per condividere una connessione, usa la console Google Cloud oppure metodo dell'API BigQuery Connections per condividere una connessione.
API
Utilizza la
Metodo projects.locations.connections.setIAM
nella sezione di riferimento dell'API REST di BigQuery Connections,
fornisce un'istanza della risorsa policy
.
Java
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di BigQuery con librerie client. Per ulteriori informazioni, consulta API Java BigQuery documentazione di riferimento.
Per eseguire l'autenticazione su BigQuery, configura Credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per le librerie client.
Passaggi successivi
- Scopri di più sui diversi tipi di connessione.
- Scopri di più sulla gestione delle connessioni.
- Scopri di più sulle query federate.
- Scopri come eseguire query sui dati di Spanner.