Cuando ejecutas una consulta en la herramienta de línea de comandos de bq
, puedes usar la marca --dry_run
para estimar la cantidad de bytes que lee la consulta. También puedes usar el parámetro dryRun
cuando envíes un trabajo de consulta mediante la API o las bibliotecas cliente.
Puedes usar la estimación que muestra la ejecución de prueba para calcular los costos de consulta en la calculadora de precios. No se te cobrará por realizar la ejecución de prueba.
Permisos necesarios
Como mínimo, para ejecutar un trabajo de consulta, debes tener permisos bigquery.jobs.create
. Para que el trabajo de consulta se complete con éxito, también debes tener acceso a las tablas o vistas a las que hace referencia la consulta. El acceso a las tablas o vistas se puede otorgar en los siguientes niveles, que se ordenan en función del rango de recursos permitidos (del más grande al más pequeño):
- en un nivel alto en la jerarquía de recursos de Google Cloud, como el nivel de proyecto, de carpeta o de organización
- al nivel del conjunto de datos
- al nivel de la tabla
Las siguientes funciones predefinidas de IAM incluyen los permisos bigquery.jobs.create
:
bigquery.user
bigquery.jobUser
bigquery.admin
Además, si un usuario tiene permisos bigquery.datasets.create
, cuando crea un conjunto de datos, se le otorga el acceso bigquery.dataOwner
.
El acceso a bigquery.dataOwner
permite al usuario consultar tablas y vistas del conjunto de datos.
Para obtener más información sobre las funciones de Cloud IAM en BigQuery, consulta Funciones y permisos predefinidos.
Realiza ejecuciones de prueba
Puedes realizar una ejecución de prueba de un trabajo de consulta mediante las siguientes opciones:
- La marca
--dry_run
con el comandoquery
en la herramienta de línea de comandos debq
- El parámetro
dryRun
en la configuración de trabajo cuando usas la API o las bibliotecas cliente
Realiza una ejecución de prueba
Para realizar una ejecución de prueba, haz lo siguiente:
Console
En la actualidad, no puedes realizar una ejecución de prueba con Cloud Console.
bq
Ingresa una consulta como la siguiente con la marca --dry_run
.
bq query \ --use_legacy_sql=false \ --dry_run \ 'SELECT COUNTRY, AIRPORT, IATA FROM `project_id`.dataset.airports LIMIT 1000'
El comando genera la siguiente respuesta:
Query successfully validated. Assuming the tables are not modified, running this query will process 10918 bytes of data.
API
Para realizar una ejecución de prueba mediante la API, envía un trabajo de consulta con dryRun
configurado como true
en el tipo JobConfiguration.
Comienza a usarlo
Antes de probar este ejemplo, sigue las instrucciones de configuración para Go que se encuentran en la guía de inicio rápido de BigQuery sobre cómo usar bibliotecas cliente. Si deseas obtener más información, consulta la documentación de referencia de la API de Go de BigQuery.
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java que se encuentran 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.
Python
Para realizar una ejecución de prueba con la biblioteca cliente de Python, configura la propiedad QueryJobConfig.dry_run como True
.
Client.query() siempre muestra un QueryJob completo cuando se proporciona una configuración de consulta de ejecución de prueba.
Antes de probar esta muestra, 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. Si deseas obtener más información, consulta la documentación de referencia de la API de Python de BigQuery.