Répertorier les instantanés de table
Ce document explique comment obtenir la liste des instantanés de table d'un ensemble de données BigQuery dans Google Cloud Console, en interrogeant la table INFORMATION_SCHEMA.TABLE_SNAPSHOTS
, à l'aide de la commande bq ls
, ou en appelant l'API tables.list
. Il explique également comment obtenir la liste de tous les instantanés de table d'une table de base spécifiée en interrogeant la table INFORMATION_SCHEMA.TABLE_SNAPSHOTS
.
Ce document est destiné aux utilisateurs qui connaissent déjà les tables et les instantanés de table BigQuery.
Autorisations et rôles
Cette section décrit les autorisations IAM (Identity and Access Management) dont vous avez besoin pour répertorier les instantanés de table d'un ensemble de données, ainsi que les rôles IAM prédéfinis qui accordent ces autorisations. Les autorisations et les rôles permettant de répertorier les instantanés de table sont identiques à ceux requis pour répertorier d'autres types de tables.
Autorisations
Pour répertorier les instantanés de table dans un ensemble de données, vous devez disposer de l'autorisation suivante :
Autorisation | Ressource |
---|---|
bigquery.tables.list
|
Ensemble de données contenant les instantanés de table. |
Rôles
Les rôles BigQuery prédéfinis qui fournissent l'autorisation requise sont les suivants :
Rôle | Ressource |
---|---|
Au choix : bigquery.dataUser bigquery.dataViewer bigquery.dataEditor bigquery.dataOwner bigquery.admin
|
Ensemble de données contenant les instantanés de table. |
Répertorier les instantanés de table dans un ensemble de données
L'opération permettant d'obtenir la liste des instantanés de table dans un ensemble de données est semblable à celle permettant de répertorier d'autres types de tables. Les instantanés de la table sont de type SNAPSHOT
.
Vous pouvez répertorier les instantanés de table en utilisant l'une des options suivantes :
Console
Dans la console Google Cloud, accédez à la page BigQuery.
Dans le volet Explorateur, développez les nœuds du projet et de l'ensemble de données dont vous souhaitez répertorier les instantanés de table.
Vous pouvez identifier les instantanés de table dans l'ensemble de données à l'aide de leur icône.
SQL
Interrogez la vue INFORMATION_SCHEMA.TABLE_SNAPSHOTS
:
Dans la console Google Cloud, accédez à la page BigQuery.
Dans l'éditeur de requête, saisissez l'instruction suivante :
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant les instantanés que vous souhaitez répertorier.DATASET_NAME
: nom de l'ensemble de données contenant les instantanés que vous souhaitez répertorier.
Cliquez sur
Exécuter.
Pour en savoir plus sur l'exécution des requêtes, consultez Exécuter une requête interactive.
Le résultat doit ressembler à ce qui suit.
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+ | table_catalog | table_schema | table_name | base_table_catalog | base_table_schema | base_table_name | snapshot_time | +---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+ | myproject | mydataset | mysnapshot | basetableproject | basetabledataset | basetable | 2021-04-16 14:05:27.519 UTC | +---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+
bq
Saisissez la commande suivante dans Cloud Shell :
bq ls \ PROJECT_ID:DATASET_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant les instantanés que vous souhaitez répertorier.DATASET_NAME
: nom de l'ensemble de données contenant les instantanés que vous souhaitez répertorier.
La sortie ressemble à ceci :
+-------------------------+--------+---------------------+-------------------+ | tableId | Type | Labels | Time Partitioning | +-------------------------+--------+---------------------+-------------------+ | mysnapshot |SNAPSHOT| | | +-------------------------+--------+---------------------+-------------------+
API
Appelez la méthode tables.list
avec les paramètres suivants :
Paramètre | Valeur |
---|---|
projectId |
ID du projet contenant les instantanés que vous souhaitez répertorier. |
datasetId |
Nom de l'ensemble de données contenant les instantanés que vous souhaitez répertorier. |
Répertorier les instantanés de table associés à une table de base spécifiée
Vous pouvez regrouper les instantanés d'une table de base spécifiée en interrogeant la vue INFORMATION_SCHEMA.TABLE_SNAPSHOTS
:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS WHERE base_table_name = 'books';
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet contenant les instantanés que vous souhaitez répertorier.DATASET_NAME
: nom de l'ensemble de données contenant les instantanés que vous souhaitez répertorier.
Étapes suivantes
- Obtenir des informations sur un instantané de table
- Mettre à jour la description, la date d'expiration ou la règle d'accès d'un instantané de table
- Supprimer un instantané de table