Gracias a la herramienta de Azure Power Automate, podremos insertar registros en una base de datos, mediante un procedimiento almacenado, lo cual a la hora de programar nos ahorrará bastante código, como vamos a ver ahora.

Lo primero que debemos hacer, es crear un procedimiento almacenado que inserte registros en una tabla de una base de datos, en mi caso voy a insertar un usuario:

11

Una vez tengamos esto listo y comprobemos que funcione, vamos a dirigirnos al enlace https://powerautomate.microsoft.com/es-es/, e iniciaremos sesión (en mi caso utilizaré la cuenta de Tajamar).

Nos encontremos en la página principal:

1

En la parte de la izquierda, clicaremos sobre Crear:

2

Seleccionamos Flujo de nube instantánea:

3

Le damos un nombre al flujo:

4

Sin salirnos de este menú, debemos bajar y seleccionar la opción Cuando se recibe una solicitud HTTP:

5

Y clicaremos sobre el botón Crear.

A continuación nos encontraremos con esto:

6

Debemos de clicar sobre el recuadro azul y a su vez en el enlace que dice Usar una carga de ejemplo para generar el esquema:

7

Ahora debemos de coger un json de ejemplo, que contendrá los mismos campos que los de la base de datos, esto servirá como guía a la aplicación y posteriormente nos será muy útil.

Al ser un json los nombres de los campos deben ser los mimos que los de la base de datos, y se deben de rellenar los campos como si se tratara de una inserción de prueba, es decir, cada campo con su correspondiente tipo de valor, de otro modo la aplicación dará error.

Con esta imagen quedará todo mas claro.

8

No importa los datos que pongamos como carga de ejemplo, solo que deben ser del mismo tipo que los de la base de datos (string, int etc);

Continuamos clicando sobre nuevo paso:

9

Debemos buscar la opción Sql Server:

10

Debemos seleccionar en el desplegable la opción de Autenticación de SQL Server:

13

En el campo Nombre del servidor, yo utilizo el servidor de Azure donde yo tengo alojadas mis bases de datos, en el siguiente campo debemos poner el el nombre de la base datos tal cual se llama dentro de nuestro de servidor, y por ultimo colocamos el usuario y la contraseña de SQL en este caso.

14

Continuando con la siguiente ventana, en los desplegables nos vendrá los datos de nombre de servidor y base de datos que escribimos anteriormente, en el campo de procedimiento almacenado debemos de seleccionar el que nosotros vamos a usar.

Ahora en los campos del procedimiento se deben rellenar de la siguiente manera, clicaremos como si fuéramos a escribir dentro del campo, pero no escribiremos nada, se abrirá una ventana a la derecha:

16

Ahora ya solo nos faltaría agregar la acción Respuesta:

18

Y ya tendríamos nuestro flujo listo.

Ahora antes de ver su funcionamiento en una aplicación Net Core, vamos a probarlo con el software Insomnia.

Una vez lo tengamos descargado, vamos a darle a New request, escogeremos una petición POST, podemos darle el nombre que queramos.

19

Ahora para ejecutar el flujo, debemos irnos a la página de Power Automate de nuevo, desplegaremos el apartado Cuando se recibe una solicitud HTTP, y copiaremos la URL que tenemos ahí:

21

En Insomnia pegamos la URL, y debemos de usar un JSON para insertar los valores que queramos.

(En mi caso id_user es automático, da igual el número que ponga)

25

El JSON debe ser acorde a los registros que se encuentran en el flujo.

23

Teniendo todo esto, iremos a la página de Power automate y en la parte superior derecha le daremos Probar y elegimos el modo Manualmente.

24


Y ejecutaremos Insomnia nos debe error un código 200, de lo contrario algo habríamos hecho mal.

26

Y si miramos en la base de datos tendremos la inserciones que hayamos hecho.

(En mi caso tengo dos porque hice dos pruebas).

27

Sabiendo que todo esto funciona ya podremos probarlo en una aplicación Net Core, veamos como se hace.

Abrimos Visual Studio y nos creamos un proyecto del siguiente tipo:

29

Vamos a instalar los dos nugets necesarios para que funcione la aplicación.

30
31

Sobre la carpeta Models, nos creamos un Usuario (en mi caso).

28

Creamos la carpeta Data y creamos una clase llamada UsuariosContext.

32

Creamos la carpeta Services, y dentro de ella una clase llamada ServiceLogicApp.

33

Dentro de la clase creamos la directiva Header y la configuramos en el constructor.

34

Ahora creamos el método para insertar un usuario con el flujo que hemos creado. Debemos pasarle en este caso un usuario por parámetro. Y en la variable urlFlowInsert, debemos poner la url del flujo, que se encuentra como ya hemos visto anteriormente en el primer cuadro de nuestro flujo en la página de Power Automate.

35

Creamos un controlador llamado LogicAppController, hacemos inyección de dependencias con el service, y creamos dos metodos, un HttpGet y un HttpPost para insertar un usuario.

El método post debe de ser asíncrono y como vemos dentro de el se llama al método que está dentro del service.

36

En Startup tenemos que configurar el service.

37

Creamos la vista CreateUser con scaffolding.

Para ello, dentro del controlador hacemos click derecho sobre el texto del método de la vista CreateUser. Seleccionamos Add View.

38+

Seleccionamos Razor View.

39

En template seleccionamos Create. Y seleccionamos el modelo Usuario.

40

En mi caso como el id_user, es automático no me hace falta pedirlo al crear un Usuario, entonces he quitado el código de la vista correspondiente al campo id_user.

Por último solo nos faltaría agregar un enlace en el Layout.

42

Y ya podríamos probar la aplicación, y comprobar que inserta valores.

Para ver el funcionamiento más en profundidad recomiendo ver el video enlazado a este post.

Autor: Adrián Rodríguez Tejedor
Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma
Centro: Tajamar
Año académico: 2021-2022
GitHub: https://github.com/adriantr0808/MvcFlowInsertUsuario.git

Leave a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.