Crear una base de datos en AWS y consumirla en MVC .Net
Creación de la base de datos:
En este post aprenderemos a crear una base de datos relacional en el servicio RDS de Amazon Web Services. Este servicio alojará una base de datos en la nube y podremos consumirla desde diferentes servicios.
En primer lugar, entraremos en la consola principal de AWS y buscaremos el servicio RDS:
Accederemos al panel principal del servicio RDS. Debemos pulsar en «Crear base de datos«:
Aquí empezará la configuración principal. En mi caso, escogeré una base de datos MySql en la capa gratuita:
A continuación debemos configurar los datos de acceso a la base de datos. Indicamos el nombre de usuario y la contraseña. Estos datos servirán para conectarse a ella después vía Workbench y MVC:
Al ser capa gratuita, debemos escoger el tipo t3.micro:
Por defecto tendremos 20gb de almacenamiento mínimo. Podemos escoger más, o hacer que éste sea escalable:
Dejaremos el resto de parámetros por defecto y escogeremos «Acceso público: sí»:
Pulsaremos en finalizar y habremos terminado.
Para poder conectarnos a ella desde el workbench, necesitamos su puerto de enlace. Para obtenerlo, entraremos en la instancia y lo podremos localizar aquí:
Lo copiamos y abrimos el Workbench. En él pegamos el puerto de enlace y utilizamos los creedenciales anteriormente creados para poder conectarnos a ella:
Aquí podremos ya utilizar y modificar la base de datos.
Consumir la base de datos en .Net Core
Una vez creada, crearemos un nuevo proyecto MVC en .Net Core.
En primer lugar, instalamos los siguientes NuGets en nuestro proyecto para poder consumir la base de datos:
Vamos a utilizar un modelo de libros. Para ello, creamos un model Libro con los datos de la tabla.
Debemos declarar el nombre de la tabla, la key y sus atributos de esta manera:
Creamos una carpeta «Context» y creamos el archivo «PostContext«. Declaramos el modelo del libro:
Creamos una carpeta «Repositories» donde se declararán todas las llamadas a la base de datos. En ella creamos una clase «RepositoryPost» donde crearemos un método para recoger la lista total de libros. Debemos declarar el Context en el constructor:
Crearemos un controlador y en él instanciaremos el Repository en el constructor. El controlador recibirá una lista de Libros del Repository y los enviará a la vista final:
En la vista mostraremos al gusto los datos. En mi caso, los he declarado de esta manera:
Por último, debemos instanciar las clases en el Startup y añadir la cadena de conexión al «appsettings.json«:
Ya podemos lanzar la aplicación y ver la lista disponible:
Con esto estaría todo. Espero haya sido de gran ayuda. ¡Un saludo!
Autor/a: Diego García Gordo
Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma
Centro: Tajamar
Año académico: 2021-2022
Proyecto GitHub: https://github.com/MsDiegoG/EjemploPostAws