Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Wie richte ich eine API-Gateway-REST-API für die Verarbeitung von Binärdaten mithilfe einer Lambda-Proxy-Integration ein?
Ich möchte eine AWS-Lambda-Proxy-Integration verwenden, um Binärdaten über meine REST-API in Amazon API Gateway zurückzugeben.
Lösung
Damit API-Gateway-REST-APIs Binärdaten verarbeiten können, muss die Backend-Lambda-Funktion das Ausgabeformat einer Lambda-Funktion für die Proxy-Integration verwenden.
Hinweis: API-Gateway-HTTP-APIs verarbeiten Binärdaten automatisch.
Verwendung einer Lambda-Proxy-Integration, um Binärdaten über eine API-Gateway-REST-API zurückzugeben
Führe die folgenden Schritte aus:
- Öffne die Lambda-Konsole.
- Erstelle eine neue Lambda-Funktion.
Hinweis: Ein Beispiel für eine Python-3-Lambda-Funktion findest du unter Rückgabe von Binärmedien aus einer Lambda-Proxy-Integration in API Gateway. - Öffne die API Gateway-Konsole.
- Erstelle eine neue REST-API.
- Gehe wie folgt vor, um eine GET-Methode für die neue API zu erstellen:
Wähle im Bereich Methoden die Option Methode erstellen.
Wähle als Methodentyp GET aus.
Wähle im Abschnitt**/ - GET - Setup** als Integrationstyp die Option Lambda-Funktion aus.
Aktiviere die Option Lambda-Proxy-Integration verwenden.
Wähle als Lambda-Funktion die AWS-Region aus, in der du die Lambda-Funktion erstellt hast. Gib dann den Namen der neuen Lambda-Funktion ein.
Wähle Methode erstellen. - Wähle für API die Option API-Einstellungen aus.
- Wähle unter Binäre Medientypen die Option Medientypen verwalten und dann Binären Medientyp hinzufügen aus.
- Füge das Dateiformat hinzu, z. B. image/png oder application/pdf.
- Wähle Änderungen speichern aus.
- Stelle die API in einer neuen Phase bereit.
Hinweis: Bei Binärdaten musst du die Eigenschaft ;isBase64Encoded in der Ausgabe der Lambda-Funktion auf wahr setzen. Die Eigenschaft body (Text) muss auch das base64-kodierte Binärmedium enthalten. Weitere Informationen findest du unter Binäre Medientypen für REST-APIs in API Gateway.
Verwendung von Postman oder cURL, um die REST-API zur Rückgabe von Binärdaten aufzurufen
Wichtig: Füge bei Postman oder cURL den Akzeptieren-Header in die API-Anforderung ein. Der Akzeptieren-Header-Wert muss deinem Dateiformat entsprechen, z. B. image/png oder application/pdf.
Verwende den folgenden curl-Befehl:
curl 'https://exampleRestApiId.execute-api.exampleRegion.amazonaws.com/exampleStageName/' -H 'Accept: image/png'
Hinweis: Ersetze im vorherigen Befehl exampleRestApiId durch die API-Kennung und exampleRegion durch die Region, in der sich deine API befindet. Ersetze außerdem exampleStageName durch den API-Stufennamen und image/png durch den Bilddateityp.
Verwendung eines Webbrowsers, um die REST-API zur Rückgabe von Binärdaten aufzurufen
Webbrowser senden automatisch einen Akzeptieren-Header mit mehreren Werten. Standardmäßig ist der erste Wert immer html/text. Da API Gateway nur den ersten Wert akzeptiert, musst du der API text/html als binären Medientyp hinzufügen. Andernfalls erhältst du die folgende Fehlermeldung:
„The image "https://{restapi_id}.execute-api.{region}.amazonaws.com/{stage_name}/" cannot be displayed because it contains errors.“
Gehe wie folgt vor, um text/html als binären Medientyp zu einer REST-API hinzuzufügen:
- Öffne die API Gateway-Konsole.
- Wähle deine API aus.
- Wähle im Navigationsbereich API-Einstellungen aus.
- Wähle unter Binäre Medientypen die Option Medientypen verwalten und dann Binären Medientyp hinzufügen aus.
- Gib text/html ein.
- Wähle Änderungen speichern.
- Stelle die API bereit.
Weitere Informationen findest du unter Inhaltstypkonvertierungen in API Gateway.
Ähnliche Informationen
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr