Actualiza propiedades de vista
En este documento, se describe cómo actualizar las propiedades de vista o metadatos. Después de crear una vista, puedes actualizar las propiedades de vista siguientes:
Antes de comenzar
Otorga roles de Identity and Access Management (IAM) que les brindan a los usuarios los permisos necesarios para realizar cada tarea de este documento.
Permisos necesarios
Para actualizar una vista, necesitas los siguientes permisos de IAM:
bigquery.tables.update
bigquery.tables.get
Cada una de las siguientes funciones predefinidas de IAM incluye los permisos que necesitas para actualizar una vista:
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.admin
Además, si tienes el permiso bigquery.datasets.create
, puedes actualizar las tablas y vistas de los conjuntos de datos que crees.
Si actualizas la consulta de SQL de la vista, también debes tener permisos para consultar las tablas a las que hace referencia la consulta de SQL de la vista.
Para obtener más información sobre las funciones y los permisos de IAM en BigQuery, consulta Funciones y permisos predefinidos.
Actualiza una consulta de SQL de una vista
Puedes actualizar la consulta de SQL que se usa para definir una vista si sigues estos pasos:
- Usa la consola de Google Cloud
- Usar el comando
bq update
de la herramienta de línea de comandos debq
- Llamar al método de la API
tables.patch
- Usa bibliotecas cliente.
Puedes cambiar el dialecto de SQL de SQL heredado a SQL estándar de Google en la API o
en la herramienta de línea de comandos de bq
. No puedes actualizar una vista SQL heredada a SQL estándar de Google en la consola de Google Cloud.
Para actualizar la consulta de SQL de una vista, sigue estos pasos:
Console
En el panel Explorador, expande tu proyecto y conjunto de datos y, luego, selecciona la vista.
Haz clic en la pestaña Detalles.
Por encima del cuadro Consulta, haz clic en el botón Editar consulta. Haz clic en Open (Abrir) en el cuadro de diálogo que aparece.
Edita la consulta de SQL en el cuadro Query editor (Editor de consultas) y, luego, haz clic en Save view (Guardar vista).
Asegúrate de que todos los campos del diálogo Save view (Guardar vista) sean correctos y, luego, haz clic en Save (Guardar).
bq
Ejecuta el comando bq update
con la marca --view
. Si quieres usar SQL estándar de Google o actualizar el dialecto de consulta de SQL heredado a SQL estándar, debes incluir la marca --use_legacy_sql
y establecerla en false
.
Si tu consulta hace referencia a recursos de funciones externas definidas por el usuario almacenadas en Cloud Storage o en archivos locales, usa la marca --view_udf_resource
para especificar esos recursos. La marca --view_udf_resource
no se muestra aquí. Para obtener más información sobre cómo usar UDF, consulta Funciones definidas por el usuario de SQL estándar de Google.
Si actualizas una vista en un proyecto que no es tu proyecto predeterminado, debes agregar el ID del proyecto al nombre del conjunto de datos en el formato siguiente: project_id:dataset
.
bq update \ --use_legacy_sql=false \ --view_udf_resource=path_to_file \ --view='query' \ project_id:dataset.view
Reemplaza lo siguiente:
- path_to_file: el URI o la ruta de acceso del sistema de archivos local a un archivo de código que se cargará y evaluará de inmediato como un recurso de función definida por el usuario que usa la vista. Repite la marca para especificar varios archivos.
- query: una consulta de SQL estándar de Google válida
- project_id: El ID de tu proyecto
- dataset: el nombre del conjunto de datos que contiene la vista que deseas actualizar
- view: el nombre de la vista que deseas actualizar
Ejemplos
Ingresa el comando siguiente si quieres actualizar la consulta de SQL de una vista llamada myview
en mydataset
. mydataset
está en tu proyecto predeterminado. La consulta de ejemplo que se usa para actualizar los datos de consultas de vista del conjunto de datos públicos Datos de nombres de EE.UU.
bq update \
--use_legacy_sql=false \
--view \
'SELECT
name,
number
FROM
`bigquery-public-data.usa_names.usa_1910_current`
WHERE
gender = "M"
ORDER BY
number DESC;' \
mydataset.myview
Ingresa el comando siguiente si quieres actualizar la consulta de SQL de una vista llamada myview
en mydataset
. mydataset
está en myotherproject
, no en tu proyecto predeterminado. La consulta de ejemplo que se usa para actualizar la vista solicita información del conjunto de datos públicos de nombres de EE.UU.
bq update \
--use_legacy_sql=false \
--view \
'SELECT
name,
number
FROM
`bigquery-public-data.usa_names.usa_1910_current`
WHERE
gender = "M"
ORDER BY
number DESC;' \
myotherproject:mydataset.myview
API
Puedes actualizar una vista si llamas al método tables.patch
con un recurso de tabla que contiene una propiedad view
actualizada. Debido a que el método tables.update
reemplaza todo el recurso de la tabla, es preferible usar el método tables.patch
.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.
Python
Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.
Actualiza la hora de vencimiento de una vista
Puedes establecer una hora de vencimiento de una tabla predeterminada en el nivel de conjunto de datos (que afecta tanto a las tablas como a las vistas) o puedes establecer la hora de vencimiento de una vista cuando esta se crea. Si estableces el vencimiento cuando se crea la vista, se ignora el vencimiento predeterminado de las tablas del conjunto de datos. Si no estableces un vencimiento de la tabla predeterminada en el nivel de conjunto de datos y no estableces un vencimiento cuando se crea la vista, esta nunca vence y debes borrarla de forma manual.
En cualquier momento posterior a la creación de la vista, puedes actualizar la hora de vencimiento de la vista si sigues estos pasos:
- Usa la consola de Google Cloud
- Usar una instrucción de lenguaje de definición de datos (DDL) escrita en sintaxis de SQL estándar de Google
- Usar el comando
bq update
de la herramienta de línea de comandos debq
- Llamar al método de la API
tables.patch
- Con las bibliotecas cliente
Para actualizar el tiempo de vencimiento de una vista, sigue estos pasos:
Console
En el panel de navegación, selecciona la vista.
En la página de detalles de la vista, haz clic en la pestaña Detalles.
A la derecha de Ver información, haz clic en el ícono de edición (lápiz).
En el cuadro de diálogo Información de la vista, en Vencimiento de la vista, haz clic en Especificar fecha.
En el selector de fecha, ingresa la fecha y hora de vencimiento y, luego, haz clic en Aceptar.
Haz clic en Actualizar. La fecha de vencimiento actualizada aparecerá en la sección Información de la vista.
SQL
Las declaraciones del lenguaje de definición de datos (DDL) te permiten crear y modificar tablas y vistas con la sintaxis de consulta de SQL estándar de Google.
Para obtener más información, consulta cómo usar instrucciones del lenguaje de definición de datos.
Usa una declaración DDL para actualizar la fecha de vencimiento de una vista:
En la consola de Google Cloud, ve a la página de BigQuery.
En el editor de consultas, ingresa la siguiente sentencia:
ALTER VIEW DATASET_ID.MY_VIEW SET OPTIONS ( expiration_timestamp = TIMESTAMP('NEW_TIMESTAMP'));
Reemplaza lo siguiente:
- DATASET_ID: el ID del conjunto de datos que contiene la vista
- MY_VIEW: el nombre de la vista que se actualizará
- NEW_TIMESTAMP: un valor TIMESTAMP
Haz clic en
Ejecutar.
Si quieres obtener información para ejecutar consultas, visita Ejecuta consultas interactivas.
bq
Ejecuta el comando bq update
con la marca --expiration
. Si actualizas una vista en un proyecto que no es tu proyecto predeterminado, debes agregar el ID del proyecto al nombre del conjunto de datos en el formato siguiente: project_id:dataset
.
bq update \ --expiration integer \ project_id:dataset.view
Reemplaza lo siguiente:
- integer: el ciclo de vida predeterminado (en segundos) de la tabla. El valor mínimo es 3,600 segundos (una hora). El tiempo de caducidad se evalúa según el tiempo actual más el valor del número entero.
- project_id: El ID de tu proyecto
- dataset: el nombre del conjunto de datos que contiene la vista que deseas actualizar
- view: el nombre de la vista que deseas actualizar
Ejemplos
Ingresa el comando siguiente a fin de actualizar la fecha de vencimiento de myview
en mydataset
a 5 días (432,000 segundos). mydataset
está en tu proyecto predeterminado.
bq update \
--expiration 432000 \
mydataset.myview
Ingresa el comando siguiente a fin de actualizar la fecha de vencimiento de myview
en mydataset
a 5 días (432,000 segundos). mydataset
está en myotherproject
, no en el proyecto predeterminado.
bq update \
--expiration 432000 \
myotherproject:mydataset.myview
API
Realiza una llamada al método tables.patch
y usa la propiedad expirationTime
en el recurso de tabla. Debido a que el método tables.update
reemplaza todo el recurso de la tabla, es preferible usar el método tables.patch
. Cuando usas la API de REST, el vencimiento de la vista se expresa en milisegundos.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.
Python
El proceso para actualizar el vencimiento de una vista es el mismo que se usa para actualizar el vencimiento de una tabla.
Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.
Actualiza la descripción de una vista
Puedes actualizar la descripción de una vista si sigues estos pasos:
- Usa la consola de Google Cloud
- Usar una instrucción de lenguaje de definición de datos (DDL) escrita en sintaxis de SQL estándar de Google
- Usar el comando
bq update
de la herramienta de línea de comandos debq
- Llamar al método de la API
tables.patch
- Con las bibliotecas cliente
Para actualizar la descripción de una vista, sigue estos pasos:
Console
Cuando creas una vista con la consola de Google Cloud, no puedes agregar una descripción. Después de crear la vista, puedes agregar una descripción en la página Detalles.
En el panel Explorador, expande tu proyecto y conjunto de datos y, luego, selecciona la vista.
Haz clic en la pestaña Detalles.
Haz clic en el ícono de lápiz junto a Description (Descripción).
Ingresa una descripción en el cuadro de diálogo. Haz clic en Actualizar para guardar la descripción nueva.
SQL
Las declaraciones del lenguaje de definición de datos (DDL) te permiten crear y modificar tablas y vistas con la sintaxis de consulta de SQL estándar de Google.
Para obtener más información, consulta cómo usar instrucciones del lenguaje de definición de datos.
Usa una declaración DDL para actualizar la descripción de una vista:
En la consola de Google Cloud, ve a la página de BigQuery.
En el editor de consultas, ingresa la siguiente sentencia:
ALTER VIEW DATASET_ID.MY_VIEW SET OPTIONS ( description = 'NEW_DESCRIPTION');
Reemplaza lo siguiente:
- DATASET_ID: el ID del conjunto de datos que contiene la vista
- MY_VIEW: el nombre de la vista que se actualizará
- NEW_DESCRIPTION: la descripción de la vista nueva
Haz clic en
Ejecutar.
Si quieres obtener información para ejecutar consultas, visita Ejecuta consultas interactivas.
bq
Ejecuta el comando bq update
con la marca --description
. Si actualizas una vista en un proyecto que no es tu proyecto predeterminado, debes agregar el ID del proyecto al nombre del conjunto de datos en el formato siguiente: [PROJECT_ID]:[DATASET]
.
bq update \ --description "description" \ project_id:dataset.view
Reemplaza lo siguiente:
- description: el texto que describe la vista entre comillas
- project_id: el ID de tu proyecto
- dataset: el nombre del conjunto de datos que contiene la vista que deseas actualizar
- view: el nombre de la vista que deseas actualizar
Ejemplos
Ingresa el comando siguiente para cambiar la descripción de myview
en mydataset
a “Descripción de mi vista” (Description of myview). mydataset
está en tu proyecto predeterminado.
bq update \
--description "Description of myview" \
mydataset.myview
Ingresa el comando siguiente para cambiar la descripción de myview
en mydataset
a “Descripción de mi vista” (Description of myview). mydataset
está en myotherproject
, no en el proyecto predeterminado.
bq update \
--description "Description of myview" \
myotherproject:mydataset.myview
API
Realiza una llamada al método tables.patch
y usa la propiedad description
para actualizar la descripción de la vista en el recurso de tabla. Debido a que el método tables.update
reemplaza todo el recurso de la tabla, es preferible usar el método tables.patch
.
Go
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Go.
Java
El proceso para actualizar la descripción de una vista es el mismo que se usa para actualizar la de una tabla.
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Java.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Node.js.
Python
El proceso para actualizar la descripción de una vista es el mismo que se usa para actualizar la de una tabla.
Antes de probar este ejemplo, sigue las instrucciones de configuración para Python incluidas en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de BigQuery para Python.
Ver la seguridad
Para controlar el acceso a las vistas en BigQuery, consulta Vistas autorizadas.
Próximos pasos
- Si quieres obtener más información sobre la administración de vistas, incluso su copia y borrado, consulta Administra vistas.
- Para obtener información sobre cómo crear vistas, consulta Crea vistas.
- Para obtener información sobre cómo crear una vista autorizada, consulta Crea vistas autorizadas.
- Para obtener información sobre las vistas de listado, consulta Enumera vistas.
- Para conocer el método sobre cómo obtener metadatos de vistas, consulta Obtén información sobre las vistas.