Buenos días Comunidad,
Espero que estén muy bien. Quisiera saber si es posible que dentro de un flujo que se corre todos los días, en los datos de entrada se tome un archivo .json que se carga en una carpeta del ordenador todos los días, pero siempre al final trae la fecha del día en que se cargo. Adjunto imagen de ejemplo:
Es decir me gustaría que por ejemplo el 1 de agosto del 2022 tomara el archivo conversation_report_2022-08-01 y el dia 2 de agosto del 2022 se tomara el archivo conversation_report_2022-08-02 y asi sucesivamente.
Quedo atento a posibles respuestas
Saludos
¡Resuelto! Ir a solución.
Hola @And_avella96
Creo que para automatizar todas esas lecturas, lo ideal sería que:
- Utilizando un Directory tool, apuntes a la carpeta donde están tus files. Esto te devuelve una lista de archivos dentro de esa carpeta (y subcarpetas si quieres)
Con un Select tool, puedes eliminar los campos que no te interesan (son muchos que tal vez no utilices)
- Luego, puedes determinar cuál archivo debería procesarse. Para ello tienes dos opciones (puedes leer el atributo [LastWriteDate] que devuelve el Directory tool para cada archivo, o puedes extraer la fecha del nombre utilizando ReGEx en modo Parse)
NOTA: ReGEx sólo te permitirá números y Strings, así que hay que convertir el valor extraído a DATE. Lo mejor es hacerlo con una fórmula.
- Con un filtro, puedes comparar este último valor con la fecha que quieres procesar (Por ejemplo: DateTimeFormat([DateTimeNow(),"%Y-%m-%d")
- Esto te dejaría sólo el archivo que quieres procesar y a partir de aquí, sólo tienes que utilizar Dynamic Input tool para poder leer el contenido.
Apunta el Data Source Template a alguno de los JSON, y configura el método Read a List of Data Sources, para que lea lo que te llegue en [FullPath] y el Action, para que utilice el path absoluto al file que viene en [FullPath]
Tu flujo debería verse como este:
Muchas gracias!!