Enumera instantáneas de tablas
En este documento, se describe cómo obtener una lista de las instantáneas de tablas en un conjunto de datos de BigQuery en la consola de Google Cloud, mediante una consulta a la tabla INFORMATION_SCHEMA.TABLE_SNAPSHOTS
con el comando bq ls
o mediante una llamada a la API de tables.list
. También se describe cómo enumerar todas las instantáneas de tablas de una tabla base específica mediante una consulta a la tabla INFORMATION_SCHEMA.TABLE_SNAPSHOTS
.
Este documento 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 describen los permisos de administración de identidades y accesos (IAM) que necesitas para enumerar las instantáneas de tablas en un conjunto de datos, y las funciones predefinidas de IAM que otorgan esos permisos. Los permisos y las funciones que se usan a fin de enumerar las instantáneas de tablas son iguales a los permisos y las funciones que se necesitan para enumerar otros tipos de tablas.
Permisos
Para enumerar las instantáneas de tablas en un conjunto de datos, necesitas el siguiente permiso:
Permiso | Recurso |
---|---|
bigquery.tables.list
|
El conjunto de datos que contiene las instantáneas de tablas. |
Funciones
A continuación, se enumeran los roles predefinidos de BigQuery que proporcionan el permiso necesario:
Función | Recurso |
---|---|
Cualquiera de los siguientes:bigquery.dataUser bigquery.dataViewer bigquery.dataEditor bigquery.dataOwner bigquery.admin
|
El conjunto de datos que contiene las instantáneas de tablas. |
Enumera instantáneas de tablas en un conjunto de datos
Obtener una lista de instantáneas de tablas en un conjunto de datos es similar a enumerar otros tipos de tablas. Las instantáneas de tablas tienen el tipo SNAPSHOT
.
Puedes enumerar las instantáneas de tablas con una de las siguientes opciones:
Console
En la consola de Google Cloud, ve a la página de BigQuery.
En el panel Explorador, expande los nodos del proyecto y del conjunto de datos cuyas instantáneas de tabla deseas enumerar.
Puedes identificar las instantáneas de la tabla en el conjunto de datos por su ícono.
SQL
Consulta la vista INFORMATION_SCHEMA.TABLE_SNAPSHOTS
:
En la consola de Google Cloud, ve a la página de BigQuery.
En el editor de consultas, escribe la siguiente oración:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto que contiene las instantáneas que deseas enumerar.DATASET_NAME
: El nombre del conjunto de datos que contiene las instantáneas que deseas enumerar.
Haz clic en
Ejecutar.
Si deseas obtener información sobre cómo ejecutar consultas, visita Ejecuta una consulta interactiva.
El resultado es similar al siguiente:
+---------------+----------------+------------------+--------------------+-------------------+-----------------+-----------------------------+ | 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
Escribe el siguiente comando en Cloud Shell:
bq ls \ PROJECT_ID:DATASET_NAME
Reemplaza lo siguiente:
PROJECT_ID
: El ID del proyecto que contiene las instantáneas que deseas enumerar.DATASET_NAME
: El nombre del conjunto de datos que contiene las instantáneas que deseas enumerar.
El resultado es similar al siguiente:
+-------------------------+--------+---------------------+-------------------+ | tableId | Type | Labels | Time Partitioning | +-------------------------+--------+---------------------+-------------------+ | mysnapshot |SNAPSHOT| | | +-------------------------+--------+---------------------+-------------------+
API
Llama al método tables.list
con los siguientes parámetros:
Parámetro | Valor |
---|---|
projectId |
El ID del proyecto que contiene las instantáneas que deseas enumerar. |
datasetId |
El nombre del conjunto de datos que contiene las instantáneas que deseas enumerar. |
Enumera instantáneas de tablas de una tabla base especificada
Puedes enumerar las instantáneas de una tabla base específica si consultas la vista INFORMATION_SCHEMA.TABLE_SNAPSHOTS
:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS WHERE base_table_name = 'books';
Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyecto que contiene las instantáneas que deseas enumerar.DATASET_NAME
: El nombre del conjunto de datos que contiene las instantáneas que deseas enumerar.
¿Qué sigue?
- Obtén información sobre una instantánea de tabla.
- Actualiza la descripción, la fecha de vencimiento o la política de acceso de una instantánea de tabla.
- Borra una instantánea de tabla