SESSIONS_BY_USER 视图
INFORMATION_SCHEMA.SESSIONS_BY_USER
视图包含有关当前用户在当前项目中创建的 BigQuery 会话的实时元数据。
所需权限
如需查询 INFORMATION_SCHEMA.SESSIONS_BY_USER
视图,您需要拥有项目的 bigquery.jobs.list
Identity and Access Management (IAM) 权限。以下每个预定义的 IAM 角色均可提供所需的权限:
- 项目查看者
- BigQuery User
如需详细了解 BigQuery 权限,请参阅使用 IAM 进行访问权限控制。
架构
查询 INFORMATION_SCHEMA.SESSIONS_BY_*
视图时,每个 BigQuery 会话都会有一行对应的查询结果。
INFORMATION_SCHEMA.SESSIONS_BY_*
视图具有如下架构:
列名 | 数据类型 | 值 |
---|---|---|
creation_time |
TIMESTAMP |
(分区列)此会话的创建时间。分区基于此时间戳的世界协调时间 (UTC)。 |
expiration_time |
TIMESTAMP |
(分区列)此会话的到期时间。分区基于此时间戳的世界协调时间 (UTC)。 |
is_active |
BOOL |
会话是否仍然有效?如果是,则为 TRUE ;否则为 FALSE 。 |
last_modified_time |
TIMESTAMP |
(分区列)上次修改会话的时间。分区基于此时间戳的世界协调时间 (UTC)。 |
project_id |
STRING |
(聚簇列)项目的 ID。 |
project_number |
INTEGER |
项目编号。 |
session_id |
STRING |
会话的 ID。例如 bquxsession_1234 。 |
user_email |
STRING |
(聚簇列)运行会话的用户的电子邮件地址或服务账号。 |
数据保留
此视图包含当前正在运行的会话和过去 180 天内完成的会话历史记录。
范围和语法
针对此视图的查询必须包含区域限定符。如果您未指定区域限定符,则会从所有区域检索元数据。下表说明了此视图的区域范围:
视图名称 | 资源范围 | 区域范围 |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SESSIONS_BY_USER |
当前用户在指定项目中创建的会话。 | REGION |
可选:PROJECT_ID
:您的 Google Cloud 项目的 ID。如果未指定,则使用默认项目。
REGION
:任何数据集区域名称。例如 `region-us`
。
示例
如需对非默认项目运行查询,请按以下格式添加项目 ID:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.SESSIONS_BY_USER
`myproject`.`region-us`.INFORMATION_SCHEMA.SESSIONS_BY_USER
。
以下示例会列出当前用户创建的会话:
SELECT session_id, creation_time FROM `region-us`.INFORMATION_SCHEMA.SESSIONS_BY_USER WHERE creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) ORDER BY creation_time DESC;
结果应如下所示:
+-------------------------------------------------------------------------+ | session_id | creation_time | +-------------------------------------------------------------------------+ | CgwKCmZhbGl1LXRlc3QQARokMGQ5YWWYzZmE0YjhkMDBm | 2021-06-01 08:04:26 | | CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZTczwZjA1NDc2 | 2021-05-31 22:43:02 | +-------------------------------------------------------------------------+