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
).