Agendar la ejecución de Pipelines en Azure Synapse Workspace a varios intervalos específicos
De cuando en cuando sucede que nos podemos encontrar con funcionalidades muy útiles que están discretamente escondidas en la documentación del producto del cual creemos conocer a la perfección. Hoy fue ese cuando; encontré ligeramente oculta la forma en que podemos configurar la ejecución de Pipelines de Synapse en varios intervalos de tiempo.
Recordemos, un Trigger es una de las formas en que se puede lanzar la ejecución de los Pipelines de Synapse Workspace; adicionalmente se pueden ejecutar manualmente o por llamados de API. Existen tres tipos de Triggers según su forma de configurar [1]:
- Ejecución por agenda: El Trigger lanza la ejecución dada una fecha/hora.
- Ejecución por ventana de tiempo: El Trigger lanza la ejecución en periodos de tiempo específicos.
- Ejecución por eventos: El Trigger puede responder a la activación dado la creación o el borrado de un archivo (Blob) en un sistema de archivos distribuido (Storage Account).
Según la documentación, el tipo de Trigger cuando requerimos que un Pipeline se ejecute cada dos (2) horas sería el de ventana de tiempo (Tumbling window). ¿Pero qué pasa cuando queremos que sólo se ejecute en horas-oficina de 7am a 5pm, cada dos horas?
Para lograr lanzar una ejecución en esta definición específica de tiempo de 7am a 5pm cada dos horas, la configuración adecuada es seleccionar el tipo por Agenda (Schedule), y establecer los valores de horas que queremos que se ejecute en el día. (Ver imagen)
Como indiqué, esta configuración está discretamente escondida en la documentación del producto [2] dado que es fácil pasar por alto que en la interfaz gráfica es posible establecer varios valores al tiempo.
Espero este pequeño consejo sea de su utilidad.
Documentación: