Runnable Data Batch
Runnable Data Batch es un bloque de trabajo que toma un conjunto de datos y ejecuta una serie de tareas (llamadas runnables) sobre cada elemento. El resultado de cada ejecución se agrega de nuevo al conjunto de datos, lo que permite crear flujos de trabajo complejos sin escribir código.
¿Cómo funciona?
El componente recibe una lista de datos y una lista de runnables.
- Revisión de datos – Si la opción Check if value is array está activada, el componente verifica si el valor de cada campo es una cadena que representa un array. Si lo es, lo divide usando el Separator for array especificado.
- Contexto adicional – El valor del campo Additional context se inserta en el contexto de ejecución, por ejemplo: “Search for: {input}”.
- Ejecución de runnables – Cada runnable se ejecuta con el valor del campo Input Key extraído del dato.
- Almacenamiento del resultado – El resultado de cada runnable se guarda bajo la clave indicada en Data result Key dentro del objeto de datos original.
- Salida – El componente devuelve el conjunto de datos actualizado, listo para ser usado por el siguiente bloque del flujo.
No se conecta a APIs externas; todo el procesamiento ocurre dentro del entorno de Nappai.
Entradas
-
Data
Conjunto de datos que será procesado. Puede ser una lista de objetos o una cadena que representa un array. -
Runnables
Lista de runnables que se ejecutarán sobre cada elemento de Data. -
Check if value is array
Si se marca como True, el componente verificará si el valor de cada campo es una cadena que representa un array y, en caso afirmativo, lo dividirá en un array usando el separador indicado. -
Separator for array
Caracter o cadena que se usará para dividir una cadena en un array cuando Check if value is array esté activado. -
Additional context
Texto que se añadirá al contexto de ejecución. Por ejemplo, “Search for: {input}”. -
Input Key
Nombre de la clave dentro de cada objeto de Data que se pasará a los runnables. -
Data result Key
Nombre de la clave donde se guardará el resultado de cada runnable dentro del objeto de datos. -
Output Key from runnables
Clave que se utilizará para extraer el valor de salida de cada runnable.
Salidas
- Data
El conjunto de datos original, enriquecido con los resultados de los runnables bajo la clave especificada en Data result Key.
Ejemplo de Uso
Supongamos que tienes una lista de correos electrónicos y quieres enviar un mensaje personalizado a cada uno usando un runnable llamado SendEmail
.
- Data:
[{ "email": "alice@example.com" }, { "email": "bob@example.com" }]
- Runnables:
[SendEmail]
- Check if value is array:
False
- Separator for array:
,
(no usado) - Additional context:
Email sent to: {email}
- Input Key:
email
- Data result Key:
emailStatus
- Output Key from runnables:
status
El componente ejecutará SendEmail
para cada dirección de correo, añadirá el estado de envío bajo la clave emailStatus
y devolverá la lista actualizada:
json
[
{ “email”: “alice@example.com”, “emailStatus”: “sent” },
{ “email”: “bob@example.com”, “emailStatus”: “sent” }
]
Componentes Relacionados
- Data Processor – Para transformar datos antes de enviarlos a runnables.
- Runnable – Bloques que realizan tareas específicas (p. ej., enviar correos, llamar a APIs).
- Data Aggregator – Para combinar resultados de múltiples runnables.
Consejos y Mejores Prácticas
- Mantén los runnables simples: Cada runnable debe hacer una sola cosa para facilitar el mantenimiento.
- Usa Check if value is array solo cuando sea necesario: Evita dividir datos innecesariamente, lo que puede ralentizar el flujo.
- Añade contexto descriptivo: El campo Additional context ayuda a depurar y a que los runnables tengan información útil.
- Verifica la clave de resultado: Asegúrate de que Data result Key no sobrescriba datos importantes.
- Prueba con un subconjunto de datos: Antes de procesar grandes volúmenes, ejecuta el flujo con pocos registros para confirmar que todo funciona como se espera.
Consideraciones de Seguridad
- Privacidad de datos: Los runnables pueden acceder a información sensible; asegúrate de que solo los runnables autorizados tengan acceso a los campos críticos.
- Validación de entrada: Si los datos provienen de fuentes externas, valida su formato antes de pasarlos al componente para evitar inyecciones o errores inesperados.
- Control de errores: Configura los runnables para que devuelvan mensajes claros en caso de fallo, lo que facilita la identificación de problemas en el flujo.