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.

Schema

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.
principal_subject STRING (Columna de agrupamiento en clústeres): Identificador de principal del usuario que ejecutó el trabajo.
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
Reemplaza lo siguiente:

  • 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. Por ejemplo, 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
Por ejemplo, `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  |
+--------------+