Creazione di sessioni
Questo documento descrive come creare sessioni in BigQuery. È destinato agli utenti che hanno familiarità con le sessioni di BigQuery.
Crea una sessione
Se vuoi acquisire un gruppo delle tue attività SQL, crea una sessione BigQuery. Dopo aver creato una sessione, puoi eseguire query interattive nella sessione fino a quando la sessione non chiude. Tutte le query della sessione vengono eseguite (elaborate) nella località in cui è stata creata la sessione.
Prima di completare questi passaggi, assicurati di disporre delle autorizzazioni necessarie per creare una sessione.
Console
Nella console Google Cloud, ogni sessione è assegnata a una scheda dell'editor.
Nella console Google Cloud, vai alla pagina BigQuery.
Fai clic su
Crea nuova query. Si apre una nuova scheda dell'editor.Fai clic su Altro > Impostazioni query. Viene visualizzato il riquadro Impostazioni query.
Nella sezione Gestione sessione, fai clic su Utilizza modalità sessione per abilitare la modalità sessione.
In Impostazioni aggiuntive > Località dei dati, seleziona la località. Dopo aver creato la sessione, tutte le query nella sessione sono limitate a questa località e la località non può essere modificata.
Fai clic su Salva.
Scrivi una query nella scheda Editor ed eseguila. La nuova sessione viene creata dopo l'esecuzione di questa prima query.
bq
Apri Cloud Shell e inserisci il seguente comando bq query
:
bq query \ --nouse_legacy_sql \ --create_session [--location 'SESSION_LOCATION'] \ 'SQL_STATEMENT'
dove:
- SESSION_LOCATION: associa la sessione a un luogo fisico. Limita tutte le query della sessione a questa località. Facoltativo.
- SQL_STATEMENT: la prima istruzione SQL per la tua sessione.
Testa la tua sessione
Crea una sessione insieme a una tabella temporanea con questo comando:
bq query \
--nouse_legacy_sql \
--create_session \
--location 'asia-northeast1' \
'SELECT 1;'
Assicurati che vengano restituiti risultati simili a questi:
In session: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ
API
Chiama il metodo job.insert o job job.query con una risorsa jobs definita.
jobs.insert
Chiama il metodo jobs.insert
con i seguenti parametri:
{ "jobReference": { "projectId": "PROJECT_ID", "jobId": "JOB_ID", ["location": "SESSION_LOCATION"] }, "configuration": { "query": { "query": "SQL_STATEMENT", "createSession": { "value": true } } } }
dove:
- PROJECT_ID: il progetto per il quale creare la sessione.
- JOB_ID: il job per il quale creare la sessione.
- SESSION_LOCATION: associa la sessione a un luogo fisico. Limita tutte le query della sessione a questa località. Facoltativo.
- SQL_STATEMENT: la prima istruzione SQL per la tua sessione.
Testa la tua sessione
Inserisci il seguente corpo della richiesta. Sostituisci myProject
e job_123
con l'ID di un progetto e l'ID di un job.
{
"jobReference": {
"projectId": "myProject",
"jobId": "job_123"
},
"configuration": {
"query": {
"query": "SELECT 1;",
"createSession": {
"value": true
}
}
}
}
Assicurati che il corpo della risposta sia simile al seguente:
{
"jobReference": {
"projectId": "myProject",
"jobId": "job_123"
},
"statistics": {
"sessionInfo": {
"sessionId": "CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ"
}
}
}
jobs.query
Chiama il metodo jobs.query
con i seguenti parametri:
{ "query": "SQL_STATEMENT", "createSession": true, ["location": "SESSION_LOCATION"] }
dove:
- SQL_STATEMENT: la prima istruzione SQL per la tua sessione.
- SESSION_LOCATION: associa la sessione a un luogo fisico. Limita tutte le query della sessione a questa località. Facoltativo.
Testa la tua sessione
Inserisci il seguente corpo della richiesta. Sostituisci myProject
e job_123
con l'ID di un progetto e l'ID di un job.
{
"query": "SELECT 1;",
"createSession": true
}
Assicurati che il corpo della risposta sia simile al seguente:
{
"jobReference": {
"projectId": "myProject",
"jobId": "job_123"
},
"statistics": {
"sessionInfo": {
"sessionId": "CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ"
}
}
}