Richten Sie mithilfe der Gateway-Konsole Zuordnungen von Anfrage- und Antwortdaten ein API - APIAmazon-Gateway

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.

Richten Sie mithilfe der Gateway-Konsole Zuordnungen von Anfrage- und Antwortdaten ein API

Gehen Sie wie folgt vor, um die API Gateway-Konsole zur Definition API der Integrationsanforderung/-antwort zu verwenden.

Anmerkung

Für diese Anleitungen müssen die Schritte in API-Integrationsanfrage über die API Gateway-Konsole einrichten bereits abgeschlossen sein.

  1. Wählen Sie im Bereich Ressourcen Ihre Methode aus.

  2. Klicken Sie auf der Registerkarte Integrationsanfrage unter Einstellungen für Integrationsanfragen auf Bearbeiten.

  3. Wählen Sie eine Option für Request body passthrough, um zu konfigurieren, wie der Methodenanforderungstext eines nicht zugewiesenen Inhaltstyps durch die Integrationsanforderung ohne Transformation an die Lambda-Funktion, den Proxy oder den HTTP Service-Proxy weitergeleitet wird. AWS Es gibt drei Optionen:

    Weitere Informationen zu Integrations-Passthrough-Verhalten finden Sie unter Integrations-Pass-Through-Verhalten.

  4. Gehen Sie wie folgt vor, um für einen HTTP Proxy oder einen AWS Dienstproxy einen Pfadparameter, einen Abfragezeichenfolgenparameter oder einen in der Integrationsanforderung definierten Header-Parameter einem entsprechenden Pfadparameter, Abfragezeichenfolge-Parameter oder Header-Parameter in der Methodenanforderung des HTTP Proxys oder AWS Dienst-Proxys zuzuordnen:

    1. Wählen Sie URLPfadparameter, URLAbfragezeichenfolgenparameter bzw. HTTPAnforderungsheader aus und wählen Sie dann Pfad hinzufügen, Abfragezeichenfolge hinzufügen oder Header hinzufügen aus.

    2. Geben Sie unter Name den Namen des Pfadparameters, des Abfragezeichenfolgenparameters oder des Header-Parameters im HTTP Proxy oder AWS Dienstproxy ein.

    3. Geben Sie unter Zugeordnet von den Zuordnungswert für den Pfadparameter, Abfragezeichenfolge-Parameter oder Header-Parameter ein. Verwenden Sie eines der folgenden Formate:

      • method.request.path.parameter-namefür einen Pfadparameter mit dem Namen parameter-name wie auf der Methodenanforderungsseite definiert.

      • method.request.querystring.parameter-namefür einen Abfragezeichenfolgenparameter mit dem Namen parameter-name wie auf der Methodenanforderungsseite definiert.

      • method.request.multivaluequerystring.parameter-namefür einen mehrwertigen Abfragezeichenfolgenparameter mit dem Namen parameter-name wie auf der Methodenanforderungsseite definiert.

      • method.request.header.parameter-namefür einen Header-Parameter mit dem Namen parameter-name wie auf der Methodenanforderungsseite definiert.

        Alternativ können Sie einen Literalzeichenfolgenwert (in einfachen Anführungszeichen) für einen Integrations-Header festlegen.

      • method.request.multivalueheader.parameter-namefür einen mehrwertigen Header-Parameter mit dem Namen parameter-name wie auf der Methodenanforderungsseite definiert.

    4. Klicken Sie auf die Schaltfläche Hinzufügen, wenn Sie weitere Parameter hunzufügen möchten.

  5. Wählen Sie Zuordnungsvorlagen aus, um eine Vorlage hinzuzufügen.

  6. Wählen Sie Zuordnungsvorlage hinzufügen aus, um eine Zuordnungsvorlage für eine eingehende Anforderung zu definieren. Geben Sie als Inhaltstyp einen Inhaltstyp ein (z. B. application/json). Geben Sie dann die Zuordnungsvorlage ein. Weitere Informationen finden Sie unter Zuordnungsvorlagen für REST APIs.

  7. Wählen Sie Save (Speichern) aus.

  8. Sie können eine Integrationsantwort aus dem Backend einer Methodenantwort der API zurückgegebenen App zuordnen. Dazu gehört die Rückgabe ausgewählter Antwort-Header aus den verfügbaren Antwort-Headern an den Client und die Umwandlung des Datenformats der Backend-Antwort-Nutzlast in ein -spezifiziertes Format. API Sie können diese Zuordnung durch die Konfiguration von Methodenantwort und Integrationsantworten vorgeben.

    Gehen Sie wie folgt vor, damit die Methode ein benutzerdefiniertes Antwortdatenformat erhält, das auf dem von der Lambda-Funktion, dem HTTP Proxy oder dem AWS Dienstproxy zurückgegebenen HTTP Statuscode basiert:

    1. Wählen Sie Integrationsantworten aus. Wählen Sie entweder Bearbeiten für Standard — Antwort, um Einstellungen für einen HTTP Antwortcode 200 aus der Methode anzugeben, oder wählen Sie Antwort erstellen, um Einstellungen für einen anderen HTTP Antwortstatuscode der Methode anzugeben.

    2. Geben Sie für Lambda-Fehler-Regex (für eine Lambda-Funktion) oder HTTPStatus-Regex (für einen HTTP Proxy oder AWS Service-Proxy) einen regulären Ausdruck ein, um anzugeben, welche Lambda-Funktionsfehlerzeichenfolgen (für eine Lambda-Funktion) oder HTTP Antwortstatuscodes (für einen HTTP Proxy oder AWS Service-Proxy) dieser Ausgabezuordnung zugeordnet sind. Um beispielsweise alle HTTP 2xx-Antwortstatuscodes von einem HTTP Proxy dieser Ausgabezuordnung zuzuordnen, geben Sie "" für Status-Regex ein. 2\d{2} HTTP Wenn Se eine Fehlermeldung mit „Ungültige Anfrage“ von einer Lambda-Funktion an eine 400 Bad Request-Antwort zurückgegeben werden soll, geben Sie .*Invalid request.* als den Lambda-Fehler-Regex-Ausdruck ein. Wenn jedoch 400 Bad Request für alle nicht zugeordneten Lambda-Fehlermeldungen zurückgegeben werden soll, geben Sie (\n|.)+ für Lambda-Fehler-Regex ein. Dieser letzte reguläre Ausdruck kann für die Standardfehlerantwort eines verwendet werden. API

      Anmerkung

      APIGateway verwendet Regexe im Java-Musterstil für die Antwortzuordnung. Weitere Informationen finden Sie unter Pattern in der OracleDokumentation.

      Die Fehlermuster werden mit der gesamten Zeichenfolge der Eigenschaft errorMessage in der Lambda-Antwort abgeglichen, die von callback(errorMessage) in Node.js oder throw new MyException(errorMessage) in Java gefüllt wird. Außerdem werden die Escape-Zeichen geschützter Zeichen entfernt, bevor der reguläre Ausdruck angewendet wird.

      Wenn Sie als Auswahlmuster zum Filtern der Antworten verwenden, bedenken Sie, dass eine Antwort mit einem Zeilenumbruch ("\n") möglicherweise nicht zu einer Übereinstimmung führt.

    3. Falls aktiviert, wählen Sie für Methodenantwortstatus den Antwortstatuscode aus, den Sie auf der Seite HTTP Methodenantwort definiert haben.

    4. Geben Sie für Header-Zuordnungen für jeden Header, den Sie für den HTTP Antwortstatuscode auf der Methodenantwortseite definiert haben, einen Zuordnungswert an. Verwenden Sie für den Mapping value eines der folgenden Formate:

      • integration.response.multivalueheaders.header-namewo header-name ist der Name eines mehrwertigen Antwort-Headers aus dem Backend.

        Um beispielsweise den Header der Backend-Antwort als Date Header einer API Methodenantwort zurückzugeben, enthält die Spalte Timestamp Response-Header einen Timestamp-Eintrag, und der zugehörige Mapping-Wert sollte auf integration.response.MultiValueHeaders.Date gesetzt werden.

      • integration.response.header.header-namewo header-name ist der Name eines einwertigen Antwort-Headers aus dem Backend.

        Um beispielsweise den Header der Backend-Antwort als Date Header einer API Methodenantwort zurückzugeben, enthält die Spalte Timestamp Response-Header einen Timestamp-Eintrag, und der zugehörige Mapping-Wert sollte auf Integration.Response.Header.Date gesetzt werden.

    5. Wählen Sie Mapping-Vorlagen aus und klicken Sie dann auf Mapping-Vorlage hinzufügen. Geben Sie im Feld Inhaltstyp den Inhaltstyp der Daten ein, die von der Lambda-Funktion, dem Proxy oder dem HTTP AWS Dienstproxy an die Methode übergeben werden. Geben Sie dann die Zuordnungsvorlage ein. Weitere Informationen finden Sie unter Zuordnungsvorlagen für REST APIs.

    6. Wählen Sie Save (Speichern) aus.