Proxy-Ressource mit einer Lambda-Proxy-Integration mithilfe einer OpenAPI-Definition einrichten
Erstellen Sie zum Einrichten einer Proxy-Ressource mit dem Lambda-Proxy-Integrationstyp eine API-Ressource mit einem Greedy-Pfadparameter (z. B. /parent/{proxy+}
) und integrieren Sie diese Ressource mit einem Lambda-Funktions-Backend (z. B. arn:aws:lambda:us-west-2:123456789012:function:SimpleLambda4ProxyResource
) für die Methode ANY
. Der Greedy-Pfadparameter muss am Ende des API-Ressourcenpfads stehen. Wie bei einer Nicht-Proxy-Ressource können Sie die Proxy-Ressource einrichten, indem Sie die API Gateway-Konsole verwenden, eine OpenAPI-Definitionsdatei importieren oder die API Gateway-REST-API direkt aufrufen.
Die folgende OpenAPI-API-Definitionsdatei zeigt ein Beispiel für eine API mit einer Proxyressource, die mit der Lambda-Funktion SimpleLambda4ProxyResource
integriert wird.
Bei der Lambda-Proxy-Integration ordnet API Gateway zur Laufzeit eine eingehende Anfrage dem Eingabe-event
-Parameter der Lambda-Funktion zu. Die Eingabe umfasst die Anforderungsmethode, den Pfad, Header, jegliche Zeichenparameter, jegliche Nutzlast, zugehörigen Kontext und alle definierten Stufenvariablen. Eine Beschreibung des Eingabeformats finden Sie unter Eingabeformat einer Lambda-Funktion für die Proxy-Integration. Damit API Gateway die Lambda-Ausgabe erfolgreich den HTTP-API-Antworten zuordnen kann, muss die Lambda-Funktion das Ergebnis in dem unter Ausgabeformat einer Lambda-Funktion für die Proxy-Integration beschriebenen Format ausgeben.
Bei der Lambda-Proxy-Integration einer Proxy-Ressource durch die ANY
-Methode dient die einzelne Backend-Lambda-Funktion als Ereignis-Handler für alle Anfragen über die Proxy-Ressource. Beispielsweise können Sie zum Protokollieren der Datenverkehrsmuster ein Mobilgerät veranlassen, seinen Standort mit Angaben zu Bundesland, Stadt, Straße und Gebäude zu senden, indem Sie eine Anforderung mit /state/city/street/house
im URL-Pfad für die Proxy-Ressource übermitteln. Die Backend-Lambda-Funktion kann dann den URL-Pfad analysieren und die Location-tuples in eine DynamoDB-Tabelle einfügen.