Visualiza metadatos de instantáneas de tablas

En este documento, se describe cómo ver los metadatos de una instantánea de tabla de BigQuery en la consola de Google Cloud mediante una consulta a la vista TABLE_SNAPSHOTS de la tabla INFORMATION_SCHEMA mediante el comando bq show o mediante una llamada a la API de tables.get. Está dirigido a usuarios que estén familiarizados con las tablas y las instantáneas de tablas de BigQuery.

Permisos y roles

En esta sección, se describe el permiso de Identity and Access Management (IAM) que necesitas para ver los metadatos de una instantánea de tabla y las funciones predefinidas de IAM que otorgan esos permisos.

Permisos

Para ver los metadatos de una instantánea de tabla, necesitas el siguiente permiso:

Permiso Recurso
bigquery.tables.get La instantánea de tabla

Funciones

A continuación, se enumeran los roles predefinidos de BigQuery que proporcionan el permiso necesario:

Función Recurso
Cualquiera de los siguientes:

bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
La instantánea de tabla

Obtén los metadatos de una instantánea de tabla

Los metadatos de una instantánea de tabla son similares a los metadatos de una tabla estándar, con las siguientes diferencias:

  • Un campo baseTableReference adicional identifica la tabla base de la que se tomó la instantánea.
  • El campo type tiene el valor SNAPSHOT.

Puedes ver los metadatos de una instantánea de tabla mediante una de las siguientes opciones:

Console

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el panel Explorador, expande los nodos del proyecto y del conjunto de datos de la instantánea de tabla que deseas ver.

  3. Haz clic en el nombre de la instantánea de la tabla.

  4. En el panel instantáneas que aparece, puedes hacer lo siguiente:

    • Haz clic en la pestaña Esquema para ver el esquema y las etiquetas de política de la instantánea de tabla.

    • Haz clic en la tabla Detalles para ver el tamaño, el vencimiento, la tabla base, el tiempo de la instantánea y otra información de la instantánea de la tabla.

SQL

Para ver los metadatos de una instantánea de tabla, consulta la vista INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

  1. En la consola de Google Cloud, ve a la página de BigQuery.

    Ir a BigQuery

  2. En el editor de consultas, escribe la siguiente oración:

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

    Reemplaza lo siguiente:

    • PROJECT_ID: El ID del proyecto que contiene la instantánea.
    • DATASET_NAME: Es el nombre del conjunto de datos que contiene la instantánea.
    • SNAPSHOT_NAME: Es el nombre de la instantánea.

  3. Haz clic en Ejecutar.

Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.

bq

Escribe el siguiente comando en Cloud Shell:

Ir a Cloud Shell

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

Reemplaza lo siguiente:

  • PROJECT_ID: El ID del proyecto que contiene la instantánea.
  • DATASET_NAME: Es el nombre del conjunto de datos que contiene la instantánea.
  • SNAPSHOT_NAME: Es el nombre de la instantánea.

El resultado es similar a este:

{
  "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

Llama al método tables.get con los siguientes parámetros:

Parámetro Valor
projectId El ID del proyecto que contiene la instantánea
datasetId El nombre del conjunto de datos que contiene la instantánea.
tableId El nombre de la instantánea.

El cuerpo de respuesta es similar al ejemplo a continuación:

{
  "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"
  }
}

¿Qué sigue?