Einrichten der Proxy-Integration mit einer Proxy-Ressource - Amazon API Gateway

Einrichten der Proxy-Integration mit einer Proxy-Ressource

Um eine Proxy-Integration in eine API Gateway-API mit einer Proxy-Ressource einzurichten, führen Sie die folgenden Aufgaben aus:

  • Erstellen Sie eine Proxyressource mit der gierigen Pfadvariable {proxy+}.

  • Legen Sie auf der Proxy-Ressource die Methode ANY fest.

  • Integrieren Sie die Ressource und die Methode mithilfe des HTTP- oder Lambda-Integrationstyps mit einem Backend.

Anmerkung

Gierige Pfadvariablen, ANY-Methoden und Proxy-Integrationstypen sind unabhängige Funktionen, auch wenn sie häufig gemeinsam verwendet werden. Sie können eine bestimmte HTTP-Methode auf einer gierigen Ressource konfigurieren oder Nicht-Proxy-Integrationstypen auf eine Proxy-Ressource anwenden.

API Gateway setzt bestimmte Beschränkungen und Limitierungen durch, wenn Methoden mit einer Lambda-Proxy-Integration oder einer HTTP-API-Integration behandelt werden. Details hierzu finden Sie unter Wichtige Hinweise zu Amazon API Gateway.

Anmerkung

Bei der Verwendung einer Proxy-Integration mit einem Pass-Through gibt API Gateway den Standard-Content-Type:application/json-Header zurück, wenn der Inhaltstyp eines Payloads nicht spezifiziert ist.

Eine Proxy-Ressource ist am leistungsstärksten, wenn sie mit der HTTP-Proxy-Integration oder der Lambda-Proxy-Integration in ein Backend integriert ist.

HTTP-Proxy-Integration mit einer Proxy-Ressource

Die HTTP-Proxy-Integration, die in der REST-API des API Gateways mit HTTP_PROXY festgelegt ist, dient der Integration einer Methodenanfrage mit einem HTTP-Backend-Endpunkt. Bei diesem Integrationstyp übergibt API Gateway die gesamte Anfrage und Antwort einfach zwischen dem Frontend und dem Backend. Dabei gelten bestimmte Einschränkungen und Begrenzungen.

Anmerkung

Die HTTP-Proxy-Integration unterstützt mehrwertige Header und Abfragezeichenfolgen.

Beim Anwenden der HTTP-Proxy-Integration auf eine Proxy-Ressource können Sie die API so einrichten, dass entweder ein Teil der oder die gesamte Endpunkthierarchie des HTTP-Backends mit einer einzigen Integrationseinrichtung bereitgestellt wird. Angenommen, das Backend der Website ist in mehrere Strukturknoten-Branches eines Stammknotens (/site) aufgeteilt: /site/a0/a1/.../aN, /site/b0/b1/.../bM usw. Wenn Sie die Methode ANY für eine Proxy-Ressource von /api/{proxy+} mit den Backend-Endpunkten mit den URL-Pfaden von /site/{proxy} integrieren, kann eine einzelne Integrationsanforderung alle HTTP-Vorgänge (GET, POST usw.) für beliebige von [a0, a1, ..., aN, b0, b1, ...bM, ...] unterstützen. Wenn Sie eine Proxy-Integration stattdessen auf eine bestimmte HTTP-Methode anwenden, z. B. GET, funktioniert die resultierende Integrationsanforderung mit den angegebenen Vorgängen (d. h. GET) auf jedem dieser Backend-Knoten.

Lambda-Proxy-Integration mit einer Proxy-Ressource

Die Lambda-Proxy-Integration, in der API Gateway-REST-API mit AWS_PROXY festgelegt ist, dient der Integration einer Methodenanfrage mit einer Lambda-Funktion im Backend. Bei diesem Integrationstyp wendet API Gateway eine Standard-Zuordnungsvorlage, um die gesamte Anfrage an die Lambda-Funktion zu senden, und wandelt die Ausgabe der Lambda-Funktion in HTTP-API-Antworten um.

Ebenso können Sie die Lambda-Proxy-Integration auf eine Proxy-Ressource von /api/{proxy+} anwenden, um eine einzelne Integration einzurichten, sodass eine Backend-Lambda-Funktion individuell auf Änderungen an einer der API-Ressourcen unter /api reagiert.