Afficher l'historique des requêtes dans les sessions

Ce document explique comment afficher l'historique d'une session dans BigQuery. Il est destiné aux utilisateurs qui ont déjà une compréhension générale des sessions BigQuery.

Avant de suivre cette procédure, assurez-vous de disposer des autorisations nécessaires pour afficher l'historique d'une session.

Afficher l'historique d'une session

Une session capture vos activités SQL dans un délai donné. Ces informations sont stockées dans l'historique de la session. L'historique de la session vous permet de suivre les modifications que vous avez apportées au cours de la session. Si une tâche échoue ou réussit, elle est enregistrée dans l'historique de la session afin que vous puissiez revenir ultérieurement pour voir ce que vous avez fait.

Console

Pour afficher l'historique d'une session dans Cloud Console, l'onglet de l'éditeur sur la session doit exister. Si vous avez supprimé l'onglet de l'éditeur, vous pouvez toujours récupérer l'historique de la session avec SQL.

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

    Accéder à BigQuery

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

  3. Cliquez sur Query History (Historique des requêtes).

SQL

Pour afficher les données de l'historique d'une session spécifique, obtenez votre ID de session, puis exécutez la requête suivante.

SELECT *
FROM `region-us`.INFORMATION_SCHEMA.VIEW
WHERE session_info.session_id = 'SESSION_ID'

où :

  • VIEW : vue INFORMATION_SCHEMA à utiliser. Vous disposez des options suivantes :
    • [JOBS_BY_USER][bigquery/docs/information-schema-jobs#schema] : ne renvoie que les tâches créées par l'utilisateur actuel dans le projet actuel.
    • [SESSIONS_BY_USER][bigquery/docs/information-schema-sessions#schema] : ne renvoie que les sessions créées par l'utilisateur actuel dans le projet actuel.
    • [SESSIONS_BY_PROJECT][bigquery/docs/information-schema-sessions#schema] : renvoie toutes les sessions du projet actuel.
  • SESSION_ID : ID de la session pour laquelle vous souhaitez récupérer des données de l'historique.

Exemple

Cette requête renvoie l'historique d'une session ayant l'ID CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0. Vous pouvez remplacer cet ID de session par le vôtre.

SELECT creation_time, project_id, user_email, job_id, query
FROM `region-us`.INFORMATION_SCHEMA.JOBS_BY_USER
WHERE session_info.session_id = 'CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0'
AND creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 20 DAY)

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

+---------------------+------------------------------------------------------------------------------------------+
|    creation_time    |                                          query                                           |
+---------------------+------------------------------------------------------------------------------------------+
| 2021-06-01 23:04:26 | SELECT * FROM Purchases;                                                                 |
| 2021-06-01 23:02:51 | CREATE TEMP TABLE Purchases(total INT64)  AS SELECT * FROM UNNEST([10,23,3,14,55]) AS a; |
+---------------------+------------------------------------------------------------------------------------------+

Étape suivante