Visualização de SESSIONS_BY_PROJECT

A visualização INFORMATION_SCHEMA.SESSIONS_BY_PROJECT contém metadados em tempo real sobre todas as sessões do BigQuery no projeto atual.

Permissões necessárias

Para consultar a visualização INFORMATION_SCHEMA.SESSIONS_BY_PROJECT, é necessário ter a permissão bigquery.jobs.listAll Identity and Access Management (IAM) do projeto. Cada um dos seguintes papéis predefinidos do IAM inclui a permissão necessária:

  • Proprietário do projeto
  • Administrador do BigQuery

Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.

Schema

Quando você consulta as visualizações INFORMATION_SCHEMA.SESSIONS_BY_*, os resultados da consulta contêm uma linha para cada sessão do BigQuery.

A visualização INFORMATION_SCHEMA.SESSIONS_BY_* tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
creation_time TIMESTAMP (Coluna de particionamento) horário da criação da sessão. O particionamento é baseado no horário UTC desse carimbo de data/hora.
expiration_time TIMESTAMP (Coluna de particionamento) Tempo de expiração desta sessão. O particionamento é baseado no horário UTC desse carimbo de data/hora.
is_active BOOL A sessão ainda está ativa? TRUE se sim, caso contrário, FALSE.
last_modified_time TIMESTAMP (Coluna de particionamento) Horário da última modificação da sessão. O particionamento é baseado no horário UTC desse carimbo de data/hora.
project_id STRING (Coluna de clustering) ID do projeto.
project_number INTEGER Número do projeto.
session_id STRING ID da sessão. Por exemplo, bquxsession_1234
user_email STRING (Coluna de clustering) endereço de e-mail ou conta de serviço do usuário que executou o job.

Retenção de dados

Essa visualização contém as sessões em execução no momento e o histórico de sessões concluídos nos últimos 180 dias.

Escopo e sintaxe

As consultas nessa visualização precisam incluir um qualificador de região. Se você não especificar um qualificador regional, os metadados serão recuperados de todas as regiões. A tabela a seguir explica o escopo da região dessa visualização:

Nome da visualização Escopo do recurso Escopo da região
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT Nível do projeto REGION
Substitua:

  • Opcional: PROJECT_ID: o ID do seu projeto do Cloud. Se não for especificado, o projeto padrão será usado.
  • REGION: qualquer nome da região do conjunto de dados. Por exemplo, region-us.

Exemplo

Para executar a consulta em um projeto diferente do projeto padrão, adicione o ID do projeto no seguinte formato:

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT
Por exemplo, `myproject`.`region-us`.INFORMATION_SCHEMA.SESSIONS_BY_PROJECT O exemplo a seguir lista todos os usuários ou contas de serviço que criaram sessões para um determinado projeto no último dia:

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);

O resultado será semelhante ao seguinte:

+--------------+
| user         |
+--------------+
| abc@xyz.com  |
+--------------+
| def@xyz.com  |
+--------------+