Vista SESSIONS_BY_PROJECT
La vista INFORMATION_SCHEMA.SESSIONS_BY_PROJECT
contiene metadatos en tiempo real sobre todas las sesiones de BigQuery del proyecto actual.
Permisos necesarios
Para consultar la vista INFORMATION_SCHEMA.SESSIONS_BY_PROJECT
, necesitas el permiso bigquery.jobs.listAll
de Identity and Access Management (IAM) para el proyecto.
Cada uno de los siguientes roles predefinidos de IAM incluye el permiso requerido:
- Propietario del proyecto
- Administrador de BigQuery
Para obtener más información sobre IAM de BigQuery, consulta Control de acceso con IAM.
Esquema
Cuando consultas las vistas INFORMATION_SCHEMA.SESSIONS_BY_*
, los resultados de la consulta contienen una fila para cada sesión de BigQuery.
La vista INFORMATION_SCHEMA.SESSIONS_BY_*
tiene el siguiente esquema:
Nombre de la columna | Tipo de datos | Valor |
---|---|---|
creation_time |
TIMESTAMP |
Es la hora de creación de esta sesión (columna de partición). La partición se basa en la hora UTC de esta marca de tiempo. |
expiration_time |
TIMESTAMP |
Es la hora de vencimiento de esta sesión (columna de partición). La partición se basa en la hora UTC de esta marca de tiempo. |
is_active |
BOOL |
¿La sesión sigue activa? TRUE si la respuesta es sí, de lo contrario, FALSE .
|
last_modified_time |
TIMESTAMP |
Hora en la que se modificó la sesión por última vez (columna de partición). La partición se basa en la hora UTC de esta marca de tiempo. |
project_id |
STRING |
(Columna de agrupamiento en clústeres) ID del proyecto. |
project_number |
INTEGER |
Es el número del proyecto. |
session_id |
STRING |
ID de la sesión. Por ejemplo, bquxsession_1234 . |
user_email |
STRING |
Es la dirección de correo electrónico o la cuenta de servicio del usuario que ejecutó la sesión (columna de agrupamiento en clústeres). |
Retención de datos
Esta vista contiene las sesiones que se están ejecutando y el historial de sesiones completadas en los últimos 180 días.
Permiso y sintaxis
Las consultas realizadas a esta vista deben incluir un calificador de región. Si no especificas un calificador regional, los metadatos se recuperan de todas las regiones. En la siguiente tabla, se explica el permiso de la región para esta vista:
Nombre de la vista | Permiso del recurso | Permiso de la región |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT |
Nivel de proyecto | REGION |
- Opcional:
PROJECT_ID
: el ID del proyecto de Google Cloud. Si no se especifica, se usa el proyecto predeterminado.
REGION
: Cualquier nombre de región del conjunto de datos.
Un ejemplo es region-us
.
Ejemplo
Para ejecutar la consulta en un proyecto que no sea el predeterminado, agrega el ID del proyecto con el siguiente formato:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT
`myproject`.`region-us`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT
.
En el siguiente ejemplo, se enumeran todos los usuarios o cuentas de servicio que crearon sesiones para un proyecto determinado en el último día:
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);
El resultado es similar al siguiente:
+--------------+ | user | +--------------+ | abc@xyz.com | +--------------+ | def@xyz.com | +--------------+