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.
-
Wählen Sie im Bereich Ressourcen Ihre Methode aus.
-
Klicken Sie auf der Registerkarte Integrationsanfrage unter Einstellungen für Integrationsanfragen auf Bearbeiten.
-
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:
-
Wählen Sie Wenn keine Vorlage mit dem angeforderten Inhaltstyp-Header übereinstimmt aus, wenn der Methodenanforderungstext ohne Umwandlung durch die Integrationsanforderung an das Backend weitergereicht werden soll, wenn der Inhaltstyp der Methodenanforderung keiner der den Zuordnungsvorlagen zugeordneten Inhaltstypen entspricht.
-
Wählen Sie When there are no templates defined (recommended) aus, wenn der Methodenanforderungstext ohne Umwandlung durch die Integrationsanforderung an das Backend übergeben werden soll, falls in der Integrationsanforderung keine Mapping-Vorlage definiert ist. Wenn bei Auswahl dieser Option eine Vorlage definiert ist, wird die Methodenanforderung eines Inhaltstyps, dem keine Zuordnung zugewiesen wurde, mit der Antwort HTTP 415 Nicht unterstützter Medientyp zurückgewiesen.
-
Wählen Sie Never aus, wenn die Methodenanforderung nicht übergeben werden soll, falls der Inhaltstyp der Methodenanforderung keinem der Inhaltstypen entspricht, die mit den in der Integrationsanforderung definierten Mapping-Vorlagen verknüpft sind, oder falls in der Integrationsanforderung keine Mapping-Vorlage definiert ist. Die Methodenanforderung eines Inhaltstyps, dem keine Zuordnung zugewiesen wurde, wird mit der Antwort HTTP 415 Nicht unterstützter Medientyp zurückgewiesen.
Weitere Informationen zu Integrations-Passthrough-Verhalten finden Sie unter Integrations-Pass-Through-Verhalten.
-
-
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:
-
Wählen Sie URLPfadparameter, URLAbfragezeichenfolgenparameter bzw. HTTPAnforderungsheader aus und wählen Sie dann Pfad hinzufügen, Abfragezeichenfolge hinzufügen oder Header hinzufügen aus.
-
Geben Sie unter Name den Namen des Pfadparameters, des Abfragezeichenfolgenparameters oder des Header-Parameters im HTTP Proxy oder AWS Dienstproxy ein.
-
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.
für einen Pfadparameter mit dem Namenparameter-name
parameter-name
wie auf der Methodenanforderungsseite definiert. -
method.request.querystring.
für einen Abfragezeichenfolgenparameter mit dem Namenparameter-name
parameter-name
wie auf der Methodenanforderungsseite definiert. -
method.request.multivaluequerystring.
für einen mehrwertigen Abfragezeichenfolgenparameter mit dem Namenparameter-name
parameter-name
wie auf der Methodenanforderungsseite definiert. -
method.request.header.
für einen Header-Parameter mit dem Namenparameter-name
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.
für einen mehrwertigen Header-Parameter mit dem Namenparameter-name
parameter-name
wie auf der Methodenanforderungsseite definiert.
-
-
Klicken Sie auf die Schaltfläche Hinzufügen, wenn Sie weitere Parameter hunzufügen möchten.
-
-
Wählen Sie Zuordnungsvorlagen aus, um eine Vorlage hinzuzufügen.
-
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. Wählen Sie Save (Speichern) aus.
-
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:
-
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.
-
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 eine400 Bad Request
-Antwort zurückgegeben werden soll, geben Sie.*Invalid request.*
als den Lambda-Fehler-Regex-Ausdruck ein. Wenn jedoch400 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. APIAnmerkung
APIGateway verwendet Regexe im Java-Musterstil für die Antwortzuordnung. Weitere Informationen finden Sie unter Muster
in der Oracle -Dokumentation. Die Fehlermuster werden mit der gesamten Zeichenfolge der Eigenschaft
errorMessage
in der Lambda-Antwort abgeglichen, die voncallback(errorMessage)
in Node.js oderthrow 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.
-
Falls aktiviert, wählen Sie für Methodenantwortstatus den Antwortstatuscode aus, den Sie auf der Seite HTTP Methodenantwort definiert haben.
-
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.
woheader-name
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 SpalteTimestamp
Response-Header einen Timestamp-Eintrag, und der zugehörige Mapping-Wert sollte auf integration.response.MultiValueHeaders.Date gesetzt werden. -
integration.response.header.
woheader-name
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 SpalteTimestamp
Response-Header einen Timestamp-Eintrag, und der zugehörige Mapping-Wert sollte auf Integration.Response.Header.Date gesetzt werden.
-
-
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.
-
Wählen Sie Save (Speichern) aus.
-