Rechercher des sessions

Ce document explique comment obtenir un ID de session dans BigQuery. Il est destiné aux utilisateurs qui ont déjà une connaissance générale des sessions BigQuery et qui ont créé une session.

Avant de suivre ces étapes, assurez-vous de disposer des autorisations nécessaires pour obtenir l'ID d'une session.

Obtenir l'ID de votre session en cours

Dans certains cas, vous devez faire référence à une session pour continuer à travailler au sein de celle-ci. Par exemple, si vous travaillez avec Cloud Shell, vous devez inclure l'ID de session chaque fois que vous exécutez une commande pour cette session.

Console

Vous n'avez pas besoin de fournir l'ID de session pour exécuter une nouvelle requête dans une session de la console Google Cloud. Vous pouvez simplement continuer à travailler dans l'onglet de l'éditeur qui contient la session. Toutefois, si vous souhaitez référencer votre session dans Cloud Shell ou un appel d'API, vous devez connaître l'ID de la session que vous avez créée dans la console.

Avant de suivre ces étapes, assurez-vous que vous avez exécuté au moins une requête dans une session active.

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Cliquez sur l'onglet de l'éditeur qui contient la session.

  3. Dans les résultats de la requête, cliquez sur Informations sur la tâche.

  4. Dans la liste Informations sur la tâche, recherchez l'ID de session :

    Session ID: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ
    

bq

Pour exécuter des commandes de requête dans une session Cloud Shell, vous devez inclure l'ID de session dans la commande. Vous pouvez obtenir l'ID de session lorsque vous créez une session ou en récupérant une liste de sessions.

Lorsque vous créez une session avec Cloud Shell, l'ID de session renvoyé est semblable à ceci:

In session: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ

API

Pour transmettre des commandes SQL dans une session avec un appel d'API, vous devez inclure l'ID de session dans l'appel d'API. Vous pouvez obtenir l'ID de session lorsque vous créez une session ou en récupérant une liste de sessions.

Lorsque vous créez une session avec un appel d'API, l'ID de session dans la réponse se présente comme suit:

sessionId: CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0OWQtZ

Obtenir la liste de vos sessions actives et inactives

Pour obtenir les ID de session des sessions actives et inactives, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Sélectionnez le type d'historique des tâches :

    • Pour afficher des informations sur vos tâches récentes, cliquez sur Historique personnel.
    • Pour afficher les informations sur les tâches récentes de votre projet, cliquez sur Historique du projet.
  3. Dans la colonne ID de session, vous pouvez afficher les ID de session de vos tâches.

    ID de session dans l'historique des tâches

SQL

Pour obtenir la liste des trois sessions les plus récentes, y compris les sessions actives et terminées, exécutez la requête suivante dans l'onglet de l'éditeur :

  1. Dans la console Google Cloud, accédez à la page BigQuery.

    Accéder à BigQuery

  2. Dans l'éditeur de requête, saisissez l'instruction suivante :

    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;

    Remplacez les éléments suivants :

    • VIEW : vue INFORMATION_SCHEMA :
      • JOBS_BY_USER : ne renvoie que les tâches créées par l'utilisateur actuel dans le projet en cours.
      • SESSIONS_BY_USER : ne renvoie que les sessions créées par l'utilisateur actuel dans le projet en cours.
      • SESSIONS_BY_PROJECT : renvoie toutes les sessions du projet en cours.

  3. Cliquez sur Exécuter.

Pour en savoir plus sur l'exécution des requêtes, consultez Exécuter une requête interactive.

La requête produit des résultats semblables à ceux-ci:

+-------------------------------------------------------------------------+
| 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 |
+-------------------------------------------------------------------------+

Obtenir la liste de vos sessions actives

Pour obtenir la liste des sessions actives qui n'ont pas été interrompues au cours des dernières 24 heures, exécutez la requête suivante :

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;

La requête produit des résultats semblables à ceux-ci:

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

Remplacez les éléments suivants :

  • VIEW : vue INFORMATION_SCHEMA :
    • JOBS_BY_USER : ne renvoie que les tâches créées par l'utilisateur actuel dans le projet en cours.
    • SESSIONS_BY_USER : ne renvoie que les sessions créées par l'utilisateur actuel dans le projet en cours.
    • SESSIONS_BY_PROJECT : renvoie toutes les sessions du projet en cours.

Étapes suivantes