Creazione di sessioni

Questo documento descrive come creare sessioni in BigQuery. È è destinata agli utenti che conoscono bene Sessioni BigQuery:

Crea una sessione

Se vuoi acquisire un gruppo delle tue attività SQL, crea un sessione BigQuery. Dopo aver creato una sessione, puoi eseguire query interattive nella tua sessione fino alla sessione termina. Tutte le query nella sessione vengono eseguiti (elaborati) nella località in cui è stata creata la sessione.

Prima di completare questi passaggi, assicurati di disporre della necessaria autorizzazioni per per creare una sessione.

Console

Nella console Google Cloud, ogni sessione è assegnata a una scheda dell'editor.

  1. Nella console Google Cloud, vai alla pagina BigQuery.

    Vai a BigQuery

  2. Fai clic su Crea nuova query. R si apre una nuova scheda dell'editor.

  3. Fai clic su Altro > Impostazioni query. Riquadro Impostazioni query .

  4. Nella sezione Gestione sessione, fai clic su Utilizza modalità sessione per attivare la modalità sessione.

  5. In Impostazioni aggiuntive > Località dei dati, seleziona l'icona in ogni località. Dopo la creazione della sessione, tutte le query in quella sessione vengono limitata a questa località e la località non può essere modificata.

  6. Fai clic su Salva.

  7. Scrivi una query nella scheda dell'editor ed eseguirlo. La nuova sessione viene creata dopo l'esecuzione di questa prima query.

bq

Apri Cloud Shell. e inserisci quanto segue Comando bq query:

bq query \
--nouse_legacy_sql \
--create_session
[--location 'SESSION_LOCATION'] \
'SQL_STATEMENT'

dove:

  • SESSION_LOCATION: associa la sessione a un posizione fisica. Limita tutte le query in la sessione in questa posizione. 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 il metodo job.query con un valore definito risorse di lavoro.

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 posizione fisica. Limita tutte le query in la sessione in questa posizione. 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 a questo:

{
  "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 posizione fisica. Limita tutte le query in la sessione in questa posizione. 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 a questo:

{
  "jobReference": {
    "projectId": "myProject",
    "jobId": "job_123"
  },
  "statistics": {
    "sessionInfo": {
      "sessionId": "CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ"
    }
  }
}

Passaggi successivi