Obtén información sobre una instantánea de tabla

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

Permisos y funciones

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

La función predefinida mínima que necesitas para ver los metadatos de una instantánea de tabla es la siguiente:

Función Recurso
bigquery.metadataViewer 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 la instantánea de tabla library_backup.books, por ejemplo, de la siguiente manera:

SQL

Ejecute la siguiente consulta:

SELECT *
  FROM
  myproject.library_backup.INFORMATION_SCHEMA.TABLE_SNAPSHOTS

Para obtener más información, consulta Metadatos de instantáneas de tablas.

bq

Ingresa el siguiente comando en Cloud Shell:

Ir a Cloud Shell

bq show --format=prettyjson library_backup.books

El resultado es similar al siguiente:

{
  "creationTime": "1593194331936",
   ...
  "snapshotDefinition": {
    "baseTableReference": {
      "datasetId": "library",
      "projectId": "myProject",
      "tableId": "books"
    },
    "snapshotTime": "2020-06-26T17:58:50.815Z"
  },
  "tableReference": {
    "datasetId": "library_backup",
    "projectId": "myProject",
    "tableId": "books"
  },
  "type": "SNAPSHOT"
}

API

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

Parámetro Valor
projectId myProject
datasetId library_backup
tableId books

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

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

Seguridad de las tablas

Para controlar el acceso a las tablas en BigQuery, consulta Introducción a los controles de acceso a tablas.

¿Qué sigue?