Je construis un site web sans serveur avec AWS API Gateway (APIG) et les fonctions Lambda. Je dois utiliser l'intégration de proxy car la fonction Lambda derrière doit recevoir les en-têtes de requête http. En même temps, certaines données binaires doivent être servies. Dans mon cas, le fichier favicon.ico. D'autres personnes pourraient vouloir servir des fichiers PDF ou Excel créés dynamiquement. APIG a un support binaire à cette fin. Coder les données avec base64 et configurer ce type de contenu MIME afin qu'il puisse être décodé avant d'être servi au client. Cependant, cela ne fonctionne pas avec l'intégration de proxy. L'intégration de proxy saute juste la partie de réponse d'intégration.Comment servir les données binaires d'AWS API Gateway avec l'intégration de proxy?
J'ai essayé de rediriger la demande de favicon.ico vers le point de terminaison S3, mais les navigateurs affichent des comportements étranges. Parce que le fichier ico provient d'un domaine différent et redirigé, pas le même domaine.
Le codage avec base64 et le décodage du navigateur client n'est pas une option car ce n'est pas standard et peut ne pas fonctionner dans tous les navigateurs.
Je suppose que je ne peux rien faire d'autre jusqu'à ce qu'AWS ajoute une nouvelle fonctionnalité pour cela. Est-ce que quelqu'un a examiné ce problème? Une idée ou une suggestion?
J'essaye de retourner un PDF dans un de mes points de terminaison, et je l'ai codé comme base64 et ai placé "isBase64Encoded" à vrai. Cependant, le PDF que je reçois semble ne pas être décodé correctement. Si j'ouvre le fichier dans un éditeur de texte, le décoder manuellement et le sauvegarder, alors je peux voir le PDF. Des idées pour lesquelles cela se passe? – JPL
JPL, vérifiez vos paramètres MIME pour le support binaire. – gini09
Depuis mon dernier commentaire, j'ai ajouté le support binaire pour tous les types, */*, qui fonctionne, mais il bouscule les types non-binaires tels que JSON. Si je tape dans application/pdf ou même application/*, API Gateway ne les reconnaît pas et ne traitera pas correctement le type.Je ne suis pas sûr si le format est faux ou s'il y a d'autres paramètres. – JPL