Binärunterstützung über die API Gateway-Konsole aktivieren
Der Abschnitt erklärt, wie die Binärunterstützung in der API Gateway-Konsole aktiviert wird. Als Beispiel verwenden wir eine API, die in Amazon S3 integriert ist. Wir konzentrieren uns darauf, die unterstützten Medientypen festzulegen und anzugeben, wie die Nutzlast verarbeitet werden soll. Ausführliche Informationen über die Erstellung einer in Amazon S3 integrierten API finden Sie unter Tutorial: Erstellen einer REST-API als Amazon S3-Proxy in API Gateway.
So aktivieren Sie Binärunterstützung mit Hilfe der API Gateway-Konsole:
-
Festlegen der binären Medientypen für die API:
-
Erstellen Sie eine neue API oder wählen Sie eine vorhandene API aus. In diesem Beispiel nennen wir die API
FileMan
. -
Wählen Sie unter der ausgewählten API im Hauptnavigationsbereich die Option Settings.
-
Wählen Sie im Feld Settings die Option Add Binary Media Type im Bereich Binary Media Types.
-
Geben Sie einen erforderlichen Medientyp, z. B.
image/png
, in das Eingabetextfeld ein. Wiederholen Sie diesen Schritt bei Bedarf, um weitere Medientypen hinzuzufügen. Um alle binären Medientypen zu unterstützen, legen Sie fes*/*
. -
Wählen Sie Save Changes.
-
-
Legen Sie fest, wie Nachrichtennutzlasten für die API-Methode behandelt werden sollen:
-
Erstellen Sie eine neue Ressource oder wählen Sie eine vorhandene Ressource in der API aus. In diesem Beispiel wird die Ressource
/{folder}/{item}
verwendet. -
Erstellen Sie eine neue Methode oder wählen Sie eine vorhandene Methode für die Ressource aus. Als Beispiel verwenden wir die
GET /{folder}/{item}
-Methode, die mit derObject GET
-Aktion in Amazon S3 integriert ist. -
Wählen Sie in Content Handling eine Option.
Wählen Sie Pass-Through, wenn der Textkörper nicht konvertiert werden soll, wenn Client und Backend das gleiche Binärformat akzeptieren. Wählen Sie In Text umwandeln (falls erforderlich) aus, um den binären Textkörper in eine base64-kodierte Zeichenfolge zu konvertieren, wenn beispielsweise das Backend erfordert, dass eine binäre Anforderungsnutzlast als JSON-Eigenschaft übergeben wird. Wählen Sie In Binärdaten umwandeln (falls erforderlich), wenn der Client eine base64-kodierte Zeichenfolge übermittelt und das Backend das ursprüngliche Binärformat erfordert oder wenn der Endpunkt eine base64-kodierte Zeichenfolge zurückgibt und der Client nur die binäre Ausgabe akzeptiert.
-
Behalten Sie den
Accept
-Header der eingehenden Anforderung in der Integrationsanforderung bei. Sie sollten dies auch tun, wenn SiecontentHandling
aufpassthrough
festgelegt haben und diese Einstellung zur Laufzeit überschrieben werden soll. -
Aktivieren Sie das Pass-Through-Verhalten im Anforderungstext.
-
Für eine Umwandlung in Text definieren Sie eine Mapping-Vorlage, um die base64-kodierten binären Daten in das erforderliche Format zu bringen.
Das Format dieser Mapping-Vorlage hängt von den Anforderungen des Endpunkts an die Eingabe ab.
-