Ver metadatos de capturas de tablas

En este documento se describe cómo ver los metadatos de una instantánea de una tabla de BigQuery en la consola, consultando la vista TABLE_SNAPSHOTS de la tabla INFORMATION_SCHEMA, usando el comando bq show o llamando a la API tables.get. Google Cloud 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 gestión de identidades y accesos (IAM) que necesitas para ver los metadatos de una instantánea de una tabla, así como los roles de IAM predefinidos que conceden esos permisos.

Permisos

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

Permiso Recurso
bigquery.tables.get La captura de tabla

Roles

Los roles predefinidos de BigQuery que proporcionan el permiso necesario son los siguientes:

Role Recurso
Cualquiera de las siguientes:

bigquery.metadataViewer
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
La captura de tabla

Obtener los metadatos de una captura de tabla

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

  • Un campo baseTableReference adicional identifica la tabla base de la que se ha obtenido la vista general.
  • El campo type tiene el valor SNAPSHOT.

Para ver los metadatos de una instantánea de una tabla, puede usar una de las siguientes opciones:

Consola

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

    Ir a BigQuery

  2. En el panel Explorador, despliega los nodos de proyecto y de conjunto de datos de la instantánea de tabla que quieras consultar.

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

  4. En el panel de vista general que aparece, puedes hacer lo siguiente:

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

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

SQL

Para ver los metadatos de una captura de tabla, consulta la vista INFORMATION_SCHEMA.TABLE_SNAPSHOTS:

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

    Ir a BigQuery

  2. En el editor de consultas, introduce la siguiente instrucción:

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

    Haz los cambios siguientes:

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

  3. Haz clic en Ejecutar.

Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar una consulta interactiva.

bq

Introduce el siguiente comando en Cloud Shell:

Ir a Cloud Shell

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

Haz los cambios siguientes:

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

El resultado debería ser similar al siguiente:

{
  "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 captura.
datasetId Nombre del conjunto de datos que contiene la instantánea.
tableId Nombre de la instantánea.

El cuerpo de la respuesta es similar al siguiente:

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

Siguientes pasos