Hochladen eines Bildes über Amazon API Gateway und Lambda

8

Ich habe eine REST-API mit API gateway und Lambda . Ich wan't einen Endpunkt für das Hochladen ein Profilbild zu erstellen, die die Datei auf einer Lambda Funktion übergibt, wo sie der Größe verändert wird worden ist, registriert sie in die Datenbank und die Rückkehr der URL-Weg des neuen Bildes.

Gibt es einen Weg, dies mit diesen Diensten zu tun? Kann nichts online finden (der einzige Vorschlag, den ich direkt auf S3 gefunden wird das Hochladen, die IAM Berechtigungen erfordert, und ein Ereignis mit einer Lambda-Funktion auslösenden dass das Bild Größe ändern).

Danke

AKTUALISIEREN

AWS APIGATEWAY aktualisiert und wissen Sie können schicken Binärdateien über einen Endpunkt
Danke @blue und @Manzo für das Kommentieren

    
Jo Jo B. 07.05.2016, 15:00
quelle

2 Antworten

3

Das direkte Hochladen einer Datei in S3 erfordert nicht unbedingt IAM-Berechtigungen. Sie würden einen API-Endpunkt erstellen, der eine vor-signierte S3-URL zurückgibt verwendet werden, um die Datei direkt in S3 hochzuladen. Die Lambda-Funktion hinter dem API-Endpunkt wäre das einzige, das die richtigen IAM-Berechtigungen für den S3-Bucket benötigt.

    
Mark B 07.05.2016, 16:05
quelle
1

Da API-Gateway und Lambda nicht nativ zur Zeit unterstützt, können Sie die Datei auf ein Bild in based64 codierten API-Gateway passieren dann an Lambda-Funktion übergeben. Ihre Lambda-Funktion decodiert based64 kann, dann verkleinert, registriert sie in die Datenbank und die Rückkehr der URL-Weg des neuen Bildes.

    
Ka Hou Ieong 07.05.2016 17:30
quelle