Mostrar capturas de tablas
En este documento se describe cómo obtener una lista de las copias de seguridad de una tabla de un conjunto de datos de BigQuery en la consola de Google Cloud , consultando la tabla INFORMATION_SCHEMA.TABLE_SNAPSHOTS
, usando el comando bq ls
o llamando a la API tables.list
. También se describe cómo enumerar todas las copias de una tabla base específica consultando la tabla INFORMATION_SCHEMA.TABLE_SNAPSHOTS
.
Este documento está dirigido a usuarios que conocen las tablas y las instantáneas de tablas de BigQuery.
Permisos y roles
En esta sección se describen los permisos de gestión de identidades y accesos (IAM) que necesitas para enumerar las copias de seguridad de tablas de un conjunto de datos y los roles de IAM predefinidos que conceden esos permisos. Los permisos y los roles para enumerar las copias de una tabla son los mismos que los necesarios para enumerar otros tipos de tablas.
Permisos
Para mostrar las capturas de tablas de un conjunto de datos, necesitas el siguiente permiso:
Permiso | Recurso |
---|---|
bigquery.tables.list
|
El conjunto de datos que contiene las capturas de la tabla. |
Roles
Los roles predefinidos de BigQuery que proporcionan el permiso necesario son los siguientes:
Role | Recurso |
---|---|
Cualquiera de las siguientes: bigquery.dataUser bigquery.dataViewer bigquery.dataEditor bigquery.dataOwner bigquery.admin
|
El conjunto de datos que contiene las capturas de la tabla. |
Mostrar las capturas de tablas de un conjunto de datos
Obtener una lista de capturas de tablas en un conjunto de datos es similar a obtener una lista de otros tipos de tablas. Las capturas de tabla tienen el tipo SNAPSHOT
.
Puedes enumerar las copias de la tabla mediante una de las siguientes opciones:
Consola
En la Google Cloud consola, ve a la página BigQuery.
En el panel Explorador, despliega los nodos del proyecto y del conjunto de datos del que quieras obtener una lista de las copias de la tabla.
Puedes identificar las capturas de tablas de un conjunto de datos por su icono.
SQL
Consulta la vista INFORMATION_SCHEMA.TABLE_SNAPSHOTS
:
En la Google Cloud consola, ve a la página BigQuery.
En el editor de consultas, introduce la siguiente instrucción:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS;
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto que contiene las copias de seguridad que quieres enumerar.DATASET_NAME
: el nombre del conjunto de datos que contiene las copias de seguridad que quieres enumerar.
Haz clic en
Ejecutar.
Para obtener más información sobre cómo ejecutar consultas, consulta Ejecutar 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
Introduce el siguiente comando en Cloud Shell:
bq ls \ PROJECT_ID:DATASET_NAME
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto que contiene las copias de seguridad que quieres enumerar.DATASET_NAME
: el nombre del conjunto de datos que contiene las copias de seguridad que quieres 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 copias de seguridad que quieres enumerar. |
datasetId |
El nombre del conjunto de datos que contiene las copias de seguridad que quieres enumerar. |
Mostrar las capturas de una tabla base especificada
Para enumerar las instantáneas de una tabla base específica, consulta la vista INFORMATION_SCHEMA.TABLE_SNAPSHOTS
:
SELECT * FROM PROJECT_ID.DATASET_NAME.INFORMATION_SCHEMA.TABLE_SNAPSHOTS WHERE base_table_name = 'books';
Haz los cambios siguientes:
PROJECT_ID
: el ID del proyecto que contiene las copias de seguridad que quieres enumerar.DATASET_NAME
: el nombre del conjunto de datos que contiene las copias de seguridad que quieres enumerar.
Siguientes pasos
- Obtener información sobre una captura de tabla
- Actualiza la descripción, la fecha de vencimiento o la política de acceso de una captura de tabla.
- Eliminar una captura de tabla.