Visualizzazione SESSIONS_BY_PROJECT
La visualizzazione INFORMATION_SCHEMA.SESSIONS_BY_PROJECT contiene metadati in tempo reale
su tutte le sessioni BigQuery nel progetto corrente.
Autorizzazioni obbligatorie
Per eseguire query sulla visualizzazione INFORMATION_SCHEMA.SESSIONS_BY_PROJECT, devi disporre dell'autorizzazione Identity and Access Management (IAM) bigquery.jobs.listAll per il progetto.
Ognuno dei seguenti ruoli IAM predefiniti include l'autorizzazione richiesta:
- Proprietario progetto
- Amministratore BigQuery
Per ulteriori informazioni sulle autorizzazioni BigQuery, consulta Controllo dell'accesso con IAM.
Schema
Quando esegui una query sulle viste INFORMATION_SCHEMA.SESSIONS_BY_*, i risultati della query
contengono una riga per ogni sessione BigQuery.
La vista INFORMATION_SCHEMA.SESSIONS_BY_* ha lo schema seguente:
| Nome colonna | Tipo di dati | Valore |
|---|---|---|
creation_time |
TIMESTAMP |
(Colonna di partizionamento) Ora di creazione di questa sessione. Il partizionamento si basa sull'ora UTC di questo timestamp. |
expiration_time |
TIMESTAMP |
(Colonna di partizionamento) Ora di scadenza di questa sessione. Il partizionamento si basa sull'ora UTC di questo timestamp. |
is_active |
BOOL |
La sessione è ancora attiva? TRUE se sì, altrimenti
FALSE.
|
last_modified_time |
TIMESTAMP |
(Colonna di partizionamento) Ora dell'ultima modifica della sessione. Il partizionamento si basa sull'ora UTC di questo timestamp. |
project_id |
STRING |
(Colonna di clustering) ID del progetto. |
project_number |
INTEGER |
Numero del progetto. |
session_id |
STRING |
ID della sessione. Ad esempio, bquxsession_1234. |
user_email |
STRING |
(Colonna di clustering) Indirizzo email o service account dell'utente che ha eseguito la sessione. |
Per garantire la stabilità, ti consigliamo di elencare esplicitamente le colonne nelle query dello schema informativo anziché
utilizzare un carattere jolly (SELECT *). L'elenco esplicito delle colonne impedisce l'interruzione delle query
se lo schema sottostante cambia.
Conservazione dei dati
Questa visualizzazione contiene le sessioni attualmente in esecuzione e la cronologia delle sessioni completate negli ultimi 180 giorni.
Ambito e sintassi
Le query su questa visualizzazione devono includere un qualificatore di regione. Se non specifichi un qualificatore regionale, i metadati vengono recuperati da tutte le regioni. La tabella seguente spiega l'ambito della regione per questa visualizzazione:
| Nome vista | Ambito risorsa | Ambito regione |
|---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT |
Livello progetto | REGION |
-
(Facoltativo)
PROJECT_ID: l'ID del tuo Google Cloud progetto. Se non specificato, viene utilizzato il progetto predefinito. -
REGION: qualsiasi nome della regione del set di dati. Ad esempio:`region-us`.
Esempio
Per eseguire la query su un progetto diverso da quello predefinito, aggiungi l'ID progetto nel seguente formato:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT
`myproject`.`region-us`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT.
L'esempio seguente elenca tutti gli utenti o i service account che hanno creato sessioni
per un determinato progetto nell'ultimo giorno:
SELECT DISTINCT(user_email) AS user FROM `region-us`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT WHERE is_active = true AND creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY);
Il risultato è simile al seguente:
+--------------+ | user | +--------------+ | abc@xyz.com | +--------------+ | def@xyz.com | +--------------+