¿Cómo crear un conjunto de usuarios desde un CSV?

¿Cómo crear un conjunto de usuarios desde un CSV?

Introducción

El componente Flow Engine de Plataforma ofrece un gran número de conectores para automatizar la gestión de usuarios de Plataforma. Concretamente, incluye componentes especialmente interesantes para la generación de nuevos usuarios en plataforma.

En este post, se muestra cómo usar estos componentes para:

  • Leer archivos CSV desde el File Manager de Plataforma.

  • El tratamiento de esta información.

  • La inserción de estos para la generación de nuevos usuarios en plataforma.


Paso 1: Subir fichero CSV en File Repository

En este ejemplo se utiliza la herramienta File Repository para el almacenamiento y acceso del fichero CSV que contiene los datos de los nuevos usuarios.


Paso 2: Obtención de los datos en Flow Engine

Lo primero será tener un usuario en la instancia de Plataforma que desees usar.

Para el ejemplo, usarás el entorno CloudLab de Plataforma (entorno gratuito con fines de experimentación). Así que ve a https://lab.onesaitplatform.com/ y, si no tienes un usuario, créalo con el botón SIGN UP. Ten en cuenta que debes crear un usuario tipo DEVELOPER:

Con el usuario creado (recibirás un mail para validar la creación), ya puedes logarte en el Panel de Control de la Plataforma:

image-20240205-075119.png

Una vez dentro, ve a la opción de menú DEVELOPMENT > My Flows:

Si es la primera vez que entras, verás que no tenemos creado un dominio del FlowEngine, así que pulsa el botón + para crearlo:

bbbb-20240205-080057.png

Dale un nombre y pulsa Create:

ccccc-20240205-080253.png

Ahora ya puedes ver tu dominio, que por defecto está parado, así que lo primero, arráncalo:

aaa.png

 

Una vez arrancado, puedes acceder a él con el botón de View It:

dddd-20240205-080622.png

 

Finalmente, accede a la Paleta del FlowEngine. Empieza por seleccionar que no quieres crear un proyecto:

acac-20240205-080725.png

Puedes maximizar el área de trabajo con el botón de la esquina derecha:

Para comenzar nuestro flujo necesitaremos el componente Injector desde el cual podremos arrancar nuestro flujo de acciones. Para ello busca el componente en la barra de búsqueda y arrástralo al lienzo de trabajo.

image-20240124-162832.png

Ahora busca le componente de invoker con el buscador y arrastra el de onesaitplatform-management-Rest-API-invoker al lienzo:

image-20240124-161751.png

 

Pincha dos veces sobre él para que aparezca la ventana de configuración.

image-20240124-161517.png

En esta ventana debes seleccionar la REST API disponible, en este caso queremos acceder a Object Storage que corresponde con el sistema de almacenamiento de archivos de Plataforma donde se encuentra nuestro CSV. Seleccionaremos el la operación GET - getBinary_2 y asignaremos un timeout de 15000 ms. Por último debemos añadir el path de nuestro CSV, en este caso administratorbucket/userList.csv y X-OP-APIKey que al que podemos acceder mediante los 3 puntos que puedes observar en la esquina superior derecha, accediendo a la opción de APIs.

image-20240124-162331.png

Esto desplegará una ventana emergente donde podemos acceder a nuestro X-OP-APIKey, el cual sirve para autentificarte.

image-20240124-162428.png

Tenga en cuenta que el los operadores de entrada deben ser de tipo estático en este punto, para modificar la tipología del operador, haga click sobre el desplegable que se ofrece en cada uno de ellos y seleccione String.

image-20240124-165219.png

Por tanto la ventana de configuraciones del modulo onesaitplatform-management-Rest-API-invoker quedaría de la siguiente manera:

image-20240124-162549.png

Por último conecta el componente Injector al componente onesaitplatform-management-Rest-API-invoker simplemente haciendo click en la salida del componente y arrastrando hasta la entrada del siguiente componente.

image-20240124-162947.png

Paso 3: Procesamiento de los datos CSV

Se puede apreciar que el componente onesaitplatform-management-Rest-API-invoker cuenta con 6 salidas, una por cada respuesta HTTP que devuelve la invocación de la API. En este paso vamos a generar un componente debug el cual sirve para mostrar un mensaje por la consola de debug del propio FlowEngine.
Para ello haz una búsqueda en la barra de búsqueda de este componente y arrástralo al marco de trabajo.

image-20240124-163505.png

Haciendo doble click sobre este elemento accederás a su ventana de configuración donde puede modificar el mensaje de salida en la consola de debug. Se recomienda mantener la siguiente configuración.

image-20240124-163644.png

Ahora conecta las 5 ultimas salidas del componente invoker con este componente debug. Así podremos asegurarnos de recibir un mensaje de error en caso de que la invocación de la API no sea coherente.

image-20240124-163814.png

La primera salida del invoker hace referencia a la respuesta HTTP 200 la cual significa que la invocación de la API ha tenido éxito.

image-20240124-164006.png

Esta salida la vamos a conectar a un componente CSV el cual transformará la información del CSV obtenida por el invoker en un JSON, gestionando así el tratamiento de nuestros datos.

image-20240124-164201.png

Es importante que acceda a la ventana de configuración del componente CSV y seleccione el separador utilizado en el CSV. En este caso el separador utilizado es el punto y coma. El resto de configuraciones pueden apreciarse en la siguiente imagen.

image-20240124-164340.png

Paso 4: Inserción de los nuevos usuarios

Para la inserción de nuevos usuarios se hará uso, de nuevo, del componente onesaitplatform-management-Rest-API-invoker solo que esta vez se apuntará a una API Rest diferente. Para ello, busque de nuevo el componente en la barra de búsqueda y enlácelo a la salida del componente CSV. También puede generar un nuevo componente debug y enlazarlo la salida del componente CSV para asegurarse de que hasta este paso todo ha funcionado correctamente.

image-20240124-164820.png

De nuevo, haga doble click sobre el nuevo componente invoker y añada la siguiente configuración, utilizando su propio X-OP-APIKey. Tenga en cuenta que el operador de entrada body ahora es del tipo msg.

image-20240124-165257.png

Ahora añadiremos dos componentes debug sobre las salidas del componente de la siguiente manera.

Paso 5: Control de sobrecarga

Llegados a este paso el flujo de inserción de usuarios por medio de CSV estaría completo, sin embargo, si el volumen de usuarios a insertar es demasiado alta generaría una sobrecarga del sistema. Para evitar esto deberá incluir un componente delay el cual permite controlar el limita de mensajes enviados a la API por segundo. De esta manera, busque el componente y añádalo en la conexión entre la salida del componente CSV y el invoker.

image-20240124-170144.png

Haga doble click para acceder a la ventana de configuración del componente donde podrá configurar el numero de mensajes por periodo que desea que sean enviados a la API.

image-20240124-170306.png

Paso 6: Ejecución del proceso automatizado

Por ultimo pulse sobre el botón deploy en la esquina superior derecha para persistir los cambios.

image-20240124-170545.png

Para ejecutar el proceso pulse sobre el botón del componente Injector.

Captura de pantalla 2024-01-24 181643.png

Podrá observar los mensajes de respuesta y debug en la ventana de debug en la parte derecha de la pantalla, accesible a través del siguiente icono.

Captura de pantalla 2024-01-24 181853.png

Si todo el proceso ha sido exitoso podrá ver los mensajes de respuesta del tipo 201. Para probar la correcta ejecución puede probar a acceder a la plataforma a través de uno de los usuarios gestionados.