查找会话

本文档介绍了如何在 BigQuery 中获取会话 ID。它面向已对 BigQuery 会话有一定了解并且已创建会话的用户。

在完成以下步骤之前,请确保您拥有获取会话 ID 所需的权限

获取活跃会话的 ID

在某些情况下,您需要引用会话才能继续在该会话中操作。例如,如果您使用的是 Cloud Shell,则每次为该会话运行命令时,都必须包含会话 ID。

控制台

您无需提供会话 ID 即可在 Google Cloud 控制台中的会话内运行新查询。您可以继续在包含该会话的编辑器标签页中执行操作。但是,如果要通过 Cloud Shell 或 API 调用引用会话,则需要知道您在控制台中创建的会话的 ID。

在完成以下步骤之前,请确保已在活跃会话中运行至少一个查询。

  1. 在 Google Cloud 控制台中,进入 BigQuery 页面。

    进入 BigQuery

  2. 点击包含该会话的编辑器标签页。

  3. 查询结果中,点击作业信息

  4. 作业信息列表中,搜索会话 ID:

    Session ID: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ
    

bq

如需在 Cloud Shell 中的会话内运行查询命令,您需要在命令中包含会话 ID。您可以在创建会话时或通过检索会话列表来获取会话 ID。

使用 Cloud Shell 创建会话时,返回的会话 ID 如下所示:

In session: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ

API

要使用 API 调用将 SQL 命令传入会话,您需要在 API 调用中包含会话 ID。您可以在创建会话时或通过检索会话列表来获取会话 ID。

使用 API 调用创建会话时,响应中的会话 ID 如下所示:

sessionId: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ

获取活跃会话和非活跃会话的列表

如需获取活跃会话和非活跃会话的会话 ID,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,转到 BigQuery 页面。

    进入 BigQuery

  2. 选择作业历史记录的类型:

    • 如需显示近期作业的信息,请点击个人历史记录
    • 如需显示项目中近期作业的信息,请点击项目历史记录
  3. 会话 ID 列中,您可以查看作业的会话 ID。

    作业历史记录中的会话 ID

SQL

如需获取最近三个会话(包括活跃会话和已终止会话)的列表,请在编辑器标签页中运行以下查询:

  1. 在 Google Cloud 控制台中,进入 BigQuery 页面。

    转到 BigQuery

  2. 在查询编辑器中,输入以下语句:

    SELECT
      session_id,
      MAX(creation_time) AS last_modified_time
    FROM region-us.INFORMATION_SCHEMA.VIEW
    WHERE
      session_id IS NOT NULL
      AND creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 20 DAY)
    GROUP BY session_id
    ORDER BY last_modified_time DESC;

    替换以下内容:

    • VIEWINFORMATION_SCHEMA 视图:

  3. 点击 运行

如需详细了解如何运行查询,请参阅运行交互式查询

查询会生成如下所示的结果:

+-------------------------------------------------------------------------+
| session_id                                        | last_modified_time  |
+-------------------------------------------------------------------------+
| CgwKCmZhbGl1LXRlc3QQARokMGQ5YWWYzZmE0YjhkMDBm     | 2021-06-01 23:04:26 |
| CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZTczwZjA1NDc2 | 2021-05-30 22:43:02 |
| CgwKCmZhbGl1LXRlc3QQY2MzLTg4ZDEtYzVhOWZiYmM5NzZk  | 2021-04-07 22:31:21 |
+-------------------------------------------------------------------------+

获取您的活跃会话列表

如需获取过去 24 小时内未终止的活跃会话列表,请运行以下查询:

SELECT
  session_id,
  MAX(creation_time) AS last_modified_time
FROM `region-us`.INFORMATION_SCHEMA.VIEW
WHERE
  session_id IS NOT NULL
  AND creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
  AND is_active
GROUP BY session_id
ORDER BY last_modified_time DESC;

查询会生成如下所示的结果:

+-------------------------------------------------------------------------+
| session_id                                        | last_modified_time  |
+-------------------------------------------------------------------------+
| CgwKCmZhbGl1LXRlc3QQARokMGQ5YWWYzZmE0YjhkMDBm     | 2021-06-01 23:04:26 |
| CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZTczwZjA1NDc2 | 2021-05-30 22:43:02 |
+-------------------------------------------------------------------------+

请替换以下内容:

  • VIEWINFORMATION_SCHEMA 视图:

后续步骤