Pregunta Cargar una imagen a través de la puerta de enlace API de Amazon y lambda


Tengo una API REST con API gateway y Lambda. Quiero crear un punto final para cargar una imagen de perfil, que pasa el archivo a un Lambda función, donde se ha cambiado de tamaño, lo registra en la base de datos y devuelve la ruta url de la nueva imagen.

¿Hay alguna manera de hacerlo con esos servicios? No se pudo encontrar nada en línea (la única sugerencia que encontré es subirla directamente a S3, que requiere permisos de IAM, y tener un evento activando una función de Lambda que cambia el tamaño de la imagen).

Gracias

ACTUALIZAR 

AWS actualizó APIGATEWAY y sabe que puede enviar binarios a través de un punto final
Gracias a @blue y @Manzo por comentarlo


8
2018-05-07 15:00


origen


Respuestas:


Cargar un archivo directamente a S3 no requiere necesariamente permisos de IAM. Debería crear un punto final API que devuelva un URL S3 pre-firmada, que luego podría usarse para cargar el archivo directamente a S3. La función Lambda detrás del punto final API sería lo único que necesitaba los permisos correctos de IAM para el cubo S3.


4
2018-05-07 16:05



Dado que API Gateway y Lambda no son compatibles de forma nativa actualmente, puede pasar el archivo a una imagen en base64 codificada en API Gateway y luego pasar a la función Lambda. Su función Lambda puede decodificarse en base 64, luego redimensionarse, registrarse en la base de datos y devolver la ruta de la url de la nueva imagen.


1
2018-05-07 17:30