Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Inhaltstypkonvertierungen in API Gateway
Die Kombination aus den binaryMediaTypes
Ihrer API, den Headern in Client-Anfragen und der Integrations-contentHandling
-Eigenschaft bestimmt, wie API Gateway Payloads kodiert.
Die folgende Tabelle zeigt, wie API Gateway die Anforderungsnutzlast für bestimmte Konfigurationen des Content-Type
Headers einer Anfrage, der binaryMediaTypes
Liste einer RestApiRessource und des contentHandling
Eigenschaftswerts der Integrationsressource konvertiert.
Nutzlast der Methodenanforderung | Content-Type -Header der Anforderung |
binaryMediaTypes |
contentHandling |
Nutzlast der Integrationsanforderung |
---|---|---|---|---|
Textdaten | Beliebiger Datentyp | Undefined | Undefined | UTF8-kodierte Zeichenfolge |
Textdaten | Beliebiger Datentyp | Undefined | CONVERT_TO_BINARY |
Base64-dekodiertes binäres Blob |
Textdaten | Beliebiger Datentyp | Undefined | CONVERT_TO_TEXT |
UTF8-kodierte Zeichenfolge |
Textdaten | Ein Textdatentyp | Satz mit übereinstimmenden Medientypen | Undefined | Textdaten |
Textdaten | Ein Textdatentyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_BINARY |
Base64-dekodiertes binäres Blob |
Textdaten | Ein Textdatentyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_TEXT |
Textdaten |
Binäre Daten | Ein binärer Datentyp | Satz mit übereinstimmenden Medientypen | Undefined | Binäre Daten |
Binäre Daten | Ein binärer Datentyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_BINARY |
Binäre Daten |
Binäre Daten | Ein binärer Datentyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_TEXT |
Base64-kodierte Zeichenfolge |
Die folgende Tabelle zeigt, wie API Gateway die Antwortnutzlast für bestimmte Konfigurationen des Accept
Headers einer Anfrage, der binaryMediaTypes
Liste einer RestApiRessource und des contentHandling
Eigenschaftswerts der IntegrationResponseRessource konvertiert.
Wichtig
Wenn eine Anfrage mehrere Medientypen in ihrem Accept
-Header enthält, berücksichtigt API Gateway nur den ersten Accept
-Medientyp. Wenn Sie die Reihenfolge der Accept
-Medientypen nicht beeinflussen können und der Medientyp Ihres binären Inhalts nicht der erste in der Liste ist, fügen Sie den ersten Accept
-Medientyp in der binaryMediaTypes
-Liste Ihrer API hinzu. API Gateway behandelt alle Inhaltstypen in dieser Liste als binär.
Um z. B. eine JPEG-Datei mit einem <img>
-Element in einem Browser zu übermitteln, sendet der Browser möglicherweise Accept:image/webp,image/*,*/*;q=0.8
in einer Anforderung. Bei Hinzufügen von image/webp
zur Liste binaryMediaTypes
erhält der Endpunkt die JPEG-Datei als Binärdatei.
Nutzlast der Integrationsantwort | Accept -Header der Anforderung |
binaryMediaTypes |
contentHandling |
Nutzlast der Methodenantwort |
---|---|---|---|---|
Text- oder Binärdaten | Ein Texttyp | Undefined | Undefined | UTF8-kodierte Zeichenfolge |
Text- oder Binärdaten | Ein Texttyp | Undefined | CONVERT_TO_BINARY |
Base64-dekodiertes Blob |
Text- oder Binärdaten | Ein Texttyp | Undefined | CONVERT_TO_TEXT |
UTF8-kodierte Zeichenfolge |
Textdaten | Ein Texttyp | Satz mit übereinstimmenden Medientypen | Undefined | Textdaten |
Textdaten | Ein Texttyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_BINARY |
Base64-dekodiertes Blob |
Textdaten | Ein Texttyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_TEXT |
UTF8-kodierte Zeichenfolge |
Textdaten | Ein Binärtyp | Satz mit übereinstimmenden Medientypen | Undefined | Base64-dekodiertes Blob |
Textdaten | Ein Binärtyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_BINARY |
Base64-dekodiertes Blob |
Textdaten | Ein Binärtyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_TEXT |
UTF8-kodierte Zeichenfolge |
Binäre Daten | Ein Texttyp | Satz mit übereinstimmenden Medientypen | Undefined | Base64-kodierte Zeichenfolge |
Binäre Daten | Ein Texttyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_BINARY |
Binäre Daten |
Binäre Daten | Ein Texttyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_TEXT |
Base64-kodierte Zeichenfolge |
Binäre Daten | Ein Binärtyp | Satz mit übereinstimmenden Medientypen | Undefined | Binäre Daten |
Binäre Daten | Ein Binärtyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_BINARY |
Binäre Daten |
Binäre Daten | Ein Binärtyp | Satz mit übereinstimmenden Medientypen | CONVERT_TO_TEXT |
Base64-kodierte Zeichenfolge |
Bei Umwandlung einer Textnutzlast in ein binäres Blob geht API Gateway davon aus, dass es sich bei den Textdaten um eine base64-kodierte Zeichenfolge handelt, und gibt die Binärdaten als base64-dekodierten Blob zurück. Wenn die Konvertierung fehlschlägt, wird eine 500
-Antwort zurückgegeben, die auf einen API-Konfigurationsfehler hinweist. Für eine solche Konvertierung geben Sie keine Mapping-Vorlage an, auch wenn Sie das Pass-Through-Verhalten in der API aktivieren müssen.
Bei der Konvertierung eines binären Payloads in eine Textzeichenfolge wendet API Gateway immer eine base64-Kodierung auf die Binärdaten an. Sie können eine Mapping-Vorlage für eine solche Nutzlast definieren, aber nur auf die base64-kodierte Zeichenfolge in der Mapping-Vorlage durch $input.body
zugreifen, wie im folgenden Beispielauszug einer Mapping-Vorlage dargestellt.
{ "data": "$input.body" }
Damit die binäre Nutzlast unverändert übergeben wird, müssen Sie das Pass-Through-Verhalten in der API aktivieren.