Combinando Lookup, ForEach y Azure Function en Data Factory

Azure Data Factory es una gran herramienta de orquestación en procesos de datos ya que permite la combinación de múltiples recursos, incluso llegando a habilitar el uso de Azure Functions. Esto abre un enorme abanico de posibilidades dentro del ecosistema del Cloud de Microsoft.

En el caso de hoy, voy a realizar un resumen de cómo configurar conjuntamente Lookup y el iterador ForEach para pasar un conjunto de elementos al cuerpo de una Function para que se ejecute. Lo primero es incluir en nuestro pipeline la cajita de Lookup.

La configuramos incluyendo el conjunto de datos y customizando una consulta para que únicamente me devuelva un subconjunto de datos de dicha fuente. Finalmente, me cuido de deseleccionar el checkbox último. Visualizo el dataset y compruebo que únicamente me devuelve los dos registros que deseo.

Una vez configurada la fuente de datos, debo incluir la cajita de ForEach y configurar la entrada. En nuestro caso, debemos seleccionar la opción Secuencial y en el cuadro de texto de Elementos, escribir el siguiente código para recibir toda la información generada por el Lookup.

@activity{'Lookup1'}.output.value

En este caso, es importante conocer cómo extraer los atributos del JSON que nos provee Lookup para que nuestro bucle los asigne correctamente como parámetros al pipeline de la Function, ya que éstos serán usados en el cuerpo de la función. Aquí es clave saber cómo obtener la información de cada uno de los elementos, por eso utilizamos @item.

Así tendríamos por ejemplo, que para el atributo Alpha3Code, el valor a incluir en la configuración del parámetro de la pipeline sería @item().Alpha3Code. Así haríamos con el resto.

Finalmente, definimos el cuerpo añadiendo las variables que se heredarían del propio pipeline. Que a su vez, como apuntamos antes, son las que se conectan a la información de cada @item.

Una vez terminado de configurar y publicados los cambios, procedemos a ejecutar el proceso y vemos que en el ForEach entran los dos elementos obtenidos desde Lookup.

En la primer iteración, extraeríamos los atributos correspondientes al primer elemento para ser pasados al cuerpo de la Function, como dejamos previamente configurado.

Y como cabe esperar, en la segunda iteración extraeríamos la información correspondiente al segundo elemento, que sería pasado al cuerpo de la Function y esperaríamos a que se «obrara la magia».

Este proceso es una pequeña pieza del conjunto de tareas implicadas en un movimiento masivo de datos entre una región origen y múltiples regiones destino orquestado gracias a Azure Function. En él se incluyen aspectos como la encriptación de la información en destino a través de Azure Key Vault. Esto nos permite elegir un algoritmo de cifrado diferente para cada elemento y almacenarlo en un Secret independiente, lo que redunda en la seguridad del Dato, ya que todo dato sensible permanecerá encriptado en la base de datos independientemente del rol de usuario de la misma.

Foto de portada gracias a Bich Tran en Pexels

Publicado por alb3rtoalonso

Soy un enamorado del poder de los datos. Entusiasta de la mejora y formación continua.

Un comentario en “Combinando Lookup, ForEach y Azure Function en Data Factory

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: