Saltar al contenido

Cómo activar la consulta programada bajo demanda en Google Bigquery

Solución:

Lamentablemente, no puedes. No sé si esto es un error o no (probablemente un mal diseño de la interfaz de usuario), pero no puede ejecutar consultas programadas bajo demanda a través de la interfaz de usuario.

Esto solo se aplica a las consultas programadas configuradas para ejecutarse bajo demanda. Si su consulta está programada para ejecutarse en cualquier período de tiempo (diario, semanal, etc.), puede hacer que se ejecute bajo demanda usando la opción “Programar reabastecimiento”. Esta opción le pide que proporcione una fecha de inicio y una fecha de finalización, por lo que fuerza todas las ejecuciones que se suponía que debían ejecutarse en la ventana de tiempo dada (sí, al usar esta opción, el número de ejecuciones dependerá de la programación). Es decir, si su consulta está configurada para ejecutarse diariamente, solo proporcione un período de tiempo de un día en el que su consulta se ejecutará una vez.

Alternativamente, si realmente necesita ejecutarlo bajo demanda, deberá usar la línea de comando o la API, como se muestra a continuación.

Solución de línea de comandos (usando Cloud Shell):

Ejecute el comando:

bq mk --transfer_run --run_time "$(date --iso-8601=seconds)" 
  projects/[YOUR_PROJECT]/locations/us/transferConfigs/[YOUR_SCHEDULED_QUERY_GUID]

Darse cuenta de YOUR_SCHEDULED_QUERY_ID es un GUID (no es el nombre de la consulta programada, parece 1234a123-1234-1a23-1be9-12ab3c456de7). Puede copiarlo de la URL del navegador u obtenerlo de una lista de todas las consultas programadas que ejecutan el comando bq ls --transfer_config --transfer_location='us'.

En todos los lugares, cambia us para cualquier otra ubicación que pueda estar usando (p. ej. eu).

Solución API

Utilice la API transferConfigs.startManualRuns con los mismos parámetros que la opción de línea de comandos.

Observe el parámetro requestedRunTime es obligatorio. Su valor solo es relevante si usa @run_time en su consulta; de lo contrario, no se utilizará. Incluso puede codificar una fecha si lo desea. Así que complételo con cualquier fecha y hora válida en el formato 2020-08-04T00:00:0Z y ya está (en la solución de línea de comando, lo completo con el comando date --iso-8601=seconds).

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *