Afficher les métadonnées d'un instantané de table

Ce document explique comment afficher les métadonnées d'un instantané de table BigQuery dans Google Cloud Console en interrogeant la vue TABLE_SNAPSHOTS de la table INFORMATION_SCHEMA à l'aide de la commande bq show ou en appelant l'API tables.get. Il 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 l'autorisation Identity and Access Management (IAM) dont vous avez besoin pour afficher les métadonnées d'un instantané de table, ainsi que les rôles IAM prédéfinis qui accordent ces autorisations.

Autorisations

Pour afficher les métadonnées d'un instantané de table, vous devez disposer de l'autorisation suivante :

Autorisation Ressource
bigquery.tables.get Instantané 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.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
Instantané de table

Obtenir les métadonnées d'un instantané de table

Les métadonnées d'un instantané de table sont semblables à celles d'une table standard, à quelques différences près :

  • Un champ baseTableReference supplémentaire identifie la table de base à partir de laquelle l'instantané a été pris.
  • La valeur du champ type est SNAPSHOT.

Vous pouvez afficher les métadonnées d'un instantané de table à l'aide de l'une des options suivantes:

Console

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

    Accéder à BigQuery

  2. Dans le volet Explorateur, développez les nœuds de projet et d'ensemble de données de l'instantané de table que vous souhaitez examiner.

  3. Cliquez sur le nom de l'instantané de table.

  4. Dans le volet des instantanés qui s'affiche, vous pouvez effectuer les opérations suivantes :

    • Cliquez sur l'onglet Schéma pour afficher les tags avec schéma et les règles de l'instantané de table.

    • Cliquez sur la table Détails pour afficher la taille, l'expiration, la table de base, l'heure de l'instantané et d'autres informations concernant l'instantané de la table.

SQL

Pour afficher les métadonnées d'un instantané de table, interrogez la vue INFORMATION_SCHEMA.TABLE_SNAPSHOTS :

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

    Accéder à BigQuery

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

    SELECT
      *
    FROM
      PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS
    WHERE
      table_name = 'SNAPSHOT_NAME';
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet qui contient l'ensemble de l'instantané.
    • DATASET_NAME : nom de l'ensemble de données contenant l'instantané.
    • SNAPSHOT_NAME : nom de l'instantané.

  3. Cliquez sur Exécuter.

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

bq

Saisissez la commande suivante dans Cloud Shell :

Accéder à Cloud Shell

bq show \
--format=prettyjson \
PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : ID du projet qui contient l'ensemble de l'instantané.
  • DATASET_NAME : nom de l'ensemble de données contenant l'instantané.
  • SNAPSHOT_NAME : nom de l'instantané.

Le résultat ressemble à ce qui suit :

{
  "creationTime": "1593194331936",
   ...
  "snapshotDefinition": {
    "baseTableReference": {
      "datasetId": "myDataset",
      "projectId": "myProject",
      "tableId": "mytable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  },
  "tableReference": {
    "datasetId": "otherDataset",
    "projectId": "myProject",
    "tableId": "mySnapshot"
  },
  "type": "SNAPSHOT"
}

API

Appelez la méthode tables.get avec les paramètres suivants :

Paramètre Valeur
projectId ID du projet contenant l'instantané.
datasetId Nom de l'ensemble de données contenant l'instantané.
tableId Nom de l'instantané.

Le corps de la réponse est semblable à ceci :

{
  "kind": "bigquery#table",
  "etag": "...",
  "id": "myProject:myDataset.mySnapshot",
  "selfLink": "https://content-bigquery.googleapis.com/bigquery/v2/projects/myProject/datasets/myDataset/tables/mySnapshot",
  "tableReference": {
    "projectId": "myProject",
    "datasetId": "myDataset",
    "tableId": "mySnapshot"
  },
  "description": "...",
  "schema": {
    "fields": [
      ...
    ]
  },
  "numBytes": "637931",
  "numLongTermBytes": "0",
  "numRows": "33266",
  "creationTime": "1593194331936",
  "lastModifiedTime": "1593194331936",
  "type": "SNAPSHOT",
  "location": "US",
  "snapshotDefinition": {
    "baseTableReference": {
      "projectId": "myProject",
      "datasetId": "otherDataset",
      "tableId": "myTable"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  }
}

Étape suivante