Ich möchte ein AWS API Gateway als Proxy zum Abrufen von Dateien aus einem S3-Bucket und zum Zurücksenden an den Client verwenden. Ich verwende eine Lambda-Funktion, um mit S3 zu sprechen und die Datei über das AWS API Gateway an den Client zu senden. Ich habe rad, dass der beste Weg, dies zu tun ist, eine "Lambda-Proxy-Integration" zu verwenden, so dass die gesamte Anfrage an Lambda ohne jede Änderung weitergeleitet wird. Aber wenn ich das mache, kann ich keine Integrationsantwort für die resultierende Antwort von meiner Lambda-Funktion einrichten. Der Client erhält also JSON.Dynamischen Inhaltstyp über AWS API Gateway und Lambda-Funktion zurückgeben
Es scheint, dass es eine Möglichkeit für das API-Gateway geben sollte, den JSON zu übernehmen und die Anfrage in die richtige Antwort für den Client umzuwandeln, aber ich kann nicht herausfinden, wie das passieren kann. Es gibt viele Beispiele, die darauf hinweisen, einen Inhaltstyp für die Antwort vom API-Gateway manuell festzulegen, aber ich muss den Inhaltstyp-Header auf den Dateityp einstellen.
Auch für Bilder und Binärformate gibt meine Lambda-Funktion eine Base64-codierte Zeichenfolge und die Eigenschaft isBase64Encoded
auf true
zurück. Wenn ich in den Abschnitt "Binary Support" gehe und etwas wie image/*
als Inhaltstyp angibt, der als Binär zurückgegeben werden soll, funktioniert es nicht. Ich habe nur Erfolg, indem ich den Binary Support-Inhaltstyp auf */*
(aka alles), die nicht für nicht-binäre Inhaltstypen funktioniert.
Was vermisse ich und warum scheint das so schwer?