Actualizar metadatos de capturas de tablas
En este documento se describe cómo actualizar la descripción, la fecha de vencimiento o la política de acceso de una instantánea de una tabla mediante la consola Google Cloud , el comando bq update
o la API tables.patch
.
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 actualizar los metadatos de una instantánea de una tabla, así como los roles de IAM predefinidos que conceden esos permisos.
Permisos
Para actualizar los metadatos de una captura de tabla, necesitas el siguiente permiso:
Permiso | Recurso |
---|---|
bigquery.tables.update
|
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.dataEditor bigquery.dataOwner biguqery.admin
|
La captura de tabla |
Limitaciones
Puedes actualizar los metadatos de una captura de tabla, pero no sus datos, ya que son de solo lectura. Para actualizar los datos de una captura de tabla, primero debes restaurar la captura de tabla en una tabla estándar y, a continuación, actualizar los datos de la tabla estándar. Para obtener más información, consulta Restaurar copias de una tabla.
Actualizar los metadatos de una captura de tabla
Puedes cambiar la descripción, la fecha de vencimiento y las políticas de acceso de una instantánea de tabla de la misma forma que cambias los metadatos de una tabla estándar. En las secciones siguientes se ofrecen algunos ejemplos.
Actualizar la descripción
Para cambiar la descripción de una tabla de resumen, puedes usar 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 de la instantánea de tabla que quieras actualizar.
Haga clic en el nombre de la instantánea de la tabla.
En el panel de vista general que aparece, haz clic en la pestaña Detalles y, a continuación, en Editar detalles.
En el campo Descripción, añade o actualiza la descripción de la instantánea de la tabla.
Haz clic en Guardar.
bq
Introduce el siguiente comando en Cloud Shell:
bq update \ --description="DESCRIPTION" \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Haz los cambios siguientes:
DESCRIPTION
: texto que describe la captura. Por ejemplo,Snapshot after table schema change X.
.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.
API
Llama al método tables.patch
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. |
Campo description del cuerpo de la solicitud |
Texto que describe la captura. Por ejemplo, Snapshot after table schema change X . |
Te recomendamos que uses el método tables.patch
en lugar del método tables.update
, ya que este último sustituye todo el recurso Table
.tables.update
Actualizar la caducidad
Puedes cambiar la fecha de vencimiento de una instantánea de una tabla con 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 de la instantánea de tabla que quieras actualizar.
Haga clic en el nombre de la instantánea de la tabla.
En el panel de vista general que aparece, haz clic en la pestaña Detalles y, a continuación, en Editar detalles.
En el campo Tiempo de vencimiento, introduce el nuevo tiempo de vencimiento de la instantánea de la tabla.
Haz clic en Guardar.
bq
Introduce el siguiente comando en Cloud Shell:
bq update \ --expiration=EXPIRATION_TIME \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Haz los cambios siguientes:
EXPIRATION_TIME
: el número de segundos que faltan para que caduque desde el momento actual.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.
API
Llama al método tables.patch
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. |
Campo expirationTime del cuerpo de la solicitud |
La hora en la que caduca la instantánea, en milisegundos desde el inicio del registro de tiempo. |
Te recomendamos que uses el método tables.patch
en lugar del método tables.update
, ya que este último sustituye todo el recurso Table
.tables.update
Actualizar acceso
Puede dar acceso a un usuario para que vea los datos de una instantánea de 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 de la instantánea de tabla que quieras actualizar.
Haga clic en el nombre de la instantánea de la tabla.
En el panel de información general que aparece, haz clic en Compartir y, a continuación, en Añadir principal.
En el panel Añadir principales que aparece, introduce el identificador del principal al que quieras dar acceso a la instantánea de la tabla.
En el menú desplegable Seleccionar un rol, elige BigQuery y, a continuación, Lector de datos de BigQuery.
Haz clic en Guardar.
bq
Introduce el siguiente comando en Cloud Shell:
bq add-iam-policy-binding \ --member="user:PRINCIPAL" \ --role="roles/bigquery.dataViewer" \ PROJECT_ID:DATASET_NAME.SNAPSHOT_NAME
Haz los cambios siguientes:
PRINCIPAL
: el principal al que quieres dar acceso a la captura de la tabla.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.
API
Llama al método tables.setIamPolicy
con los siguientes parámetros:
Parámetro | Valor |
---|---|
Resource |
projects/PROJECT_ID/datasets/DATASET_NAME/tables/SNAPSHOT_NAME |
Cuerpo de la solicitud | { "policy": { "bindings": [ { "members": [ "user:PRINCIPAL" ], "role": "roles/bigquery.dataViewer" } ] } } |
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.PRINCIPAL
: el principal al que quieres dar acceso a la captura de la tabla.
Siguientes pasos
- Muestra las capturas de tablas de un conjunto de datos.
- Ver los metadatos de una captura de tabla.
- Eliminar una captura de tabla.