J'essaie de configurer une passerelle Lambda et API qui effectuera un s3.getObject () et produira l'image binaire en réponse. Finalement, j'aimerais extraire une image de s3 et la redimensionner à la volée au lieu de la sauvegarder sur s3, mais il me semble impossible d'obtenir même une simple image.
Mon lambda simple ressemble à ceci:
'use strict';
const http = require('http');
exports.handler = (event, context, callback) => {
http.get('http://i.stack.imgur.com/PIFN0.jpg', function(res) {
var body = '';
res.on('data', function(chunk) {
// Agregates chunks
body += chunk;
});
res.on('end', function() {
callback(null, body);
});
});
};
J'ai défini la prise en charge binaire de la passerelle API pour autoriser 'image/jpeg' et j'ai essayé de définir le type de contenu dans les réponses Méthode et Réponse d'intégration.
J'ai trouvé ma réponse ici: L'API AWS Gateway base64Decode produit un fichier binaire tronqué?
Une commande CLI est nécessaire pour modifier un paramètre qui n’est pas exposé dans la console AWS lorsque vous sélectionnez Fonction Lambda dans l’écran Créer une méthode.
Avez-vous lu ce blog post ?
Suivez ces instructions et assurez-vous que votre client envoie correctement les en-têtes Content-Type et Accept.