Muy buenas, soy Andrés Otero estudiante del master Desarrollo Web Full Stack + MultiCloud + Multiplataforma en Tajamar, hoy os explicare como usar s3 para almacenar nuestra imágenes, así como poder visualizarlas en nuestra app.

Nuget necesarios para usar S3

Pasos a seguir en el portal de AWS

Primero debemos buscar en el buscador del portal S3:

Una vez hemos accedido a la parte del S3, accedemos en la columna izquierda a buckets para crearnos nuestro S3:

En la sección de buckets le daremos a Crear bucket para crear nuestro S3:

Una vez le demos tendremos que ponerle un nombre por ejemplo, s3-nombre y seguir las imágenes que se muestran a continuación:

Una vez completado todos estos pasos le daremos a crear bucket. Una vez creado entramos en nuestro bucket y le damos a permisos:

En la política del bucket le daremos a editar:

Seguido le daremos a Generador de políticas:

En el generador de políticas y seguimos los pasos de las imágenes de nuevo:

En el desplegable siguiente seleccionaremos tanto GetObject y PutObject, además en en la parte del ARN copiaremos el que se nos dio en la ventana anterior y le añadiremos /*

Una vez seguidos estos pasos le daremos a Generate Policy.

Este código que se nos a generado lo copiamos y volvemos a al pestaña anterior, sustituyendo al que esta en el apartado de política:

Le daremos a guardar cambios y con esto pondremos público nuestro S3. Solo nos quedarian dos pasos mas para hacer completamente funcional nuestro bucket. Para que nos funcione en local debemos crear un usuario en IAM con FullAccessS3 y para que funcione en servidor debemos crear un rol con un FullAccessS3. Primero creamos el usuario con FullAccessS3, para ello vamos a IAM, usuarios :

Le daremos a agregar usuarios:

Y ahí le damos los permisos de s3 full access al usuario que creemos, y lo mismo con el rol en roles creamos un rol con permisos s3 full access. Una vez realizado estos pasos volvemos a nuestro s3, y entramos en el, le daremos en acciones, seguridad, Modificar rol de IAM y le asignamos en el desplegable nuestro rol.

Pasos a realizar en Mvc

Primero instalamos los nugget indicados anteriormente. Una vez instalados creamos la carpeta services y en ella una clase llamada serviceS3:

Sobre ServiceS3 incluimos el siguiente código:

Una vez incluido este código vamos al appsetting.json e incluimos el nombre de nuestro bucket creado en el portal :

Resolvemos las dependencias del startup:

Utilizamos los métodos del ServiceS3 en nuestro controller para poder subir imágenes y verlas:

Autor/a: Andrés Otero Figueiredo

Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma

Centro: Tajamar

Año académico: 2021-2022

Código / recursos utilizados / Otros datos de interés: https://github.com/Andrellu/POST_AOF_AWS_IMAGENES

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.