Tutorial: REST-API mit HTTP-Proxy-Integration erstellen - Amazon API 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.

Tutorial: REST-API mit HTTP-Proxy-Integration erstellen

Die HTTP-Proxy-Integration von ist ein einfacher, leistungsstarker und vielseitiger Mechanismus für den Aufbau einer API, mit der eine Webanwendung auf mehrere Ressourcen oder Funktionen des integrierten HTTP-Endpunktes (z. B. die gesamte Website) zugreifen kann und der eine unkomplizierte Einrichtung einer einzigen API-Methode verwendet. Bei der HTTP-Proxy-Integration leitet API Gateway die vom Client übermittelte Methodenanforderung an das Backend weiter. Diese übergebenen Anforderungsdaten umfassen die Abfrage-Header, Parameter für Abfragezeichenfolgen, die URL-Pfadvariablen und die Nutzlast. Der Backend-HTTP-Endpunkt oder Webserver analysiert die eingehenden Anforderungsdaten, um die eigene Antwort zu bestimmen. Die HTTP-Proxy-Integration sorgt dafür, dass der Client und das Backend direkt interagieren, ohne dass nach dem Einrichten der API-Methode ein Eingriff von API Gateway erfolgt. Dies gilt nicht für bekannte Probleme wie nicht unterstützte Zeichen, die in aufgeführt sin Wichtige Hinweise zu Amazon API Gateway.

Mit der umfassenden Proxy-Ressource {proxy+}und dem umfassenden ANY-Verb für die HTTP-Methode können Sie mit einer HTTP-Proxy-Integration eine API mit einer einzelnen API-Methode erstellen. Die Methode macht den gesamten Satz der öffentlich verfügbaren HTTP-Ressourcen und -Vorgänge der Website verfügbar. Wenn der Backend-Webserver mehr Ressourcen für den öffentlichen Zugriff öffnet, kann der Client diese neuen Ressourcen mit derselben API-Einrichtung nutzen. Um dies zu ermöglichen, muss der Websiteentwickler dem Cliententwickler klar kommunizieren, was die neuen Ressourcen sind und welche Vorgänge für diese Umgebungen anwendbar sind.

Als kurze Einführung zeigt die folgende Anleitung die HTTP-Proxy-Integration. In diesem Tutorial erstellen wir eine API für die Integration mit der Website PetStore über eine allgemeine Proxy-Ressource {proxy+} mithilfe der API Gateway-Konsole und erstellen den HTTP-Platzhalter ANY.

API mit HTTP-Proxy-Integration unter Verwendung der API Gateway-Konsole erstellen

Das folgende Verfahren führt Sie durch die Schritte zum Erstellen und Testen einer API mit einer Proxy-Ressource für ein HTTP-Backend unter Verwendung der API Gateway-Konsole. Das HTTP-Backend ist die PetStore-Website (http://petstore-demo-endpoint.execute-api.com/petstore/pets) von Tutorial: REST-API mit HTTP-API ohne Proxy-Integration erstellen, auf der Screenshots als visuelle Hilfsmittel zur Veranschaulichung der API Gateway-Benutzeroberflächenelemente verwendet werden. Wenn Ihnen die Verwendung der API Gateway-Konsole zur Erstellung einer API unbekannt ist, sollten Sie zuerst diesen Abschnitt lesen.

So erstellen Sie eine API
  1. Melden Sie sich bei der API Gateway-Konsole unter https://console.aws.amazon.com/apigateway an.

  2. Wenn Sie API Gateway zum ersten Mal verwenden, sehen Sie eine Seite, die Sie mit den Funktionen des Service vertraut macht. Wählen Sie unter REST-API die Option Erstellen aus. Wenn das Popup-Fenster Create Exampe API (Beispiel-API erstellen) angezeigt wird, klicken Sie auf OK.

    Wenn Sie API Gateway nicht zum ersten Mal verwenden, wählen Sie Create API (API erstellen). Wählen Sie unter REST-API die Option Build (Erstellen) aus.

  3. Geben Sie in API name (API-Name) HTTPProxyAPI ein.

  4. (Optional) Geben Sie unter Description (Beschreibung) eine Beschreibung ein.

  5. Lassen Sie die Einstellung für API-Endpunkttyp bei Regional.

  6. Wählen Sie Create API (API erstellen) aus.

In diesem Schritt erstellen Sie einen Proxy-Ressourcenpfad für {proxy+}. Dies ist der Platzhalter für beliebige Backend-Endpunkte unter http://petstore-demo-endpoint.execute-api.com/. Zum Beispiel kann dies petstore, petstore/pets und petstore/pets/{petId} sein. API Gateway erstellt die ANY-Methode, wenn Sie die {proxy+}-Ressource erstellen, und dient als Platzhalter für alle unterstützten HTTP-Verben zur Laufzeit.

So erstellen Sie eine /{proxy+}-Ressource
  1. Wählen Sie Ihre API aus.

  2. Klicken Sie im Hauptnavigationsbereich auf Resources (Ressourcen).

  3. Wählen Sie Create Resource (Ressource erstellen) aus.

  4. Aktivieren Sie die Option Proxy-Ressource.

  5. Ressourcenpfad wird als / beibehalten.

  6. Geben Sie für Resource name (Ressourcenname) {proxy+} ein.

  7. CORS (Cross Origin Resource Sharing) bleibt ausgeschaltet.

  8. Wählen Sie Create Resource (Ressource erstellen) aus.

    
                    Erstellen Sie eine untergeordnete Ressource.

In diesem Schritt integrieren Sie die ANY-Methode mithilfe einer Proxyintegration in einen Backend-HTTP-Endpunkt. Bei einer Proxy-Integration leitet API Gateway die vom Client übermittelte Methodenanforderung ohne Zutun der API-Gateway an das Backend weiter.

Erstellen einer ANY-Methode
  1. Wählen Sie die Ressource /{proxy+} aus.

  2. Wählen Sie die Methode BELIEBIGE.

  3. Klicken Sie unter dem Warnsymbol auf Integration bearbeiten. Sie können keine API mit einer Methode bereitstellen, die keine Integration hat.

  4. Wählen Sie für den Integrationstyp die Option HTTP aus.

  5. Aktivieren Sie die HTTP-Proxy-Integration.

  6. Für HTTP-Methode wählen Sie BELIEBIGE aus.

  7. Geben Sie für Endpunkt-URL http://petstore-demo-endpoint.execute-api.com/{proxy} ein.

  8. Wählen Sie Speichern.

Testen einer API mit HTTP-Proxy-Integration

Ob eine bestimmte Clientanforderung erfolgreich ist, hängt von Folgendem ab:

  • Ob das Backend den entsprechenden Backend-Endpunkt verfügbar gemacht hat und, falls dies der Fall ist, ob die erforderlichen Zugriffsberechtigungen erteilt wurden.

  • Ob der Client die korrekte Eingabe bereitstellt.

Die PetStore-API verwendet hier beispielsweise nicht die /petstore-Ressource. Daher erhalten Sie eine 404 Resource Not Found-Antwort mit der Fehlermeldung Cannot GET /petstore.

Darüber hinaus muss der Client in der Lage sein, das Ausgabeformat zu verarbeiten, um das Ergebnis des Backends korrekt zu analysieren. API Gateway fungiert nicht als Vermittler zur Vereinfachung der Interaktionen zwischen dem Client und dem Backend.

So testen Sie eine API, die in die PetStore-Website mithilfe von HTTP-Proxy-Integration über die Proxy-Ressource integriert ist
  1. Wählen Sie die Registerkarte Test. Möglicherweise müssen Sie die rechte Pfeiltaste wählen, um die Registerkarte anzuzeigen.

  2. Wählen Sie als Methodentyp die Option GET aus.

  3. Geben Sie für Pfad unter Proxy petstore/pets ein.

  4. Für Abfragezeichenketten geben Sie type=fish ein.

  5. Wählen Sie Test aus.

    
                  Testen einer Methode.

    Da die Backend-Website die GET /petstore/pets?type=fish-Anforderung unterstützt, wird eine erfolgreiche Antwort wie die folgende zurückgegeben:

    [ { "id": 1, "type": "fish", "price": 249.99 }, { "id": 2, "type": "fish", "price": 124.99 }, { "id": 3, "type": "fish", "price": 0.99 } ]

    Wenn Sie versuchen, GET /petstore aufzurufen, erhalten Sie eine 404-Antwort mit der Fehlermeldung Cannot GET /petstore. Der Grund hierfür ist, dass das Backend die angegebene Operation nicht unterstützt. Wenn Sie GET /petstore/pets/1 aufrufen, erhalten Sie die Antwort 200 OK mit der folgenden Nutzlast, da die Anforderung von der PetStore-Website unterstützt wird.

    { "id": 1, "type": "dog", "price": 249.99 }

Sie können Ihre API zusätzlich in einem Browser testen. Stellen Sie Ihre API bereit und ordnen Sie sie einer Stufe zu, um die Aufruf-URL Ihrer API zu erstellen.

Stellen Sie Ihre API bereit
  1. Klicken Sie auf Deploy API.

  2. Wählen Sie für Stufe die Option Neue Stufe aus.

  3. Geben Sie für Stage name (Stufenname) test ein.

  4. (Optional) Geben Sie unter Description (Beschreibung) eine Beschreibung ein.

  5. Wählen Sie Bereitstellen aus.

Jetzt können Clients Ihre API aufrufen.

So rufen Sie Ihre API auf
  1. Melden Sie sich bei der API Gateway-Konsole unter https://console.aws.amazon.com/apigateway an.

  2. Wählen Sie Ihre API aus.

  3. Klicken Sie im Hauptnavigationsbereich auf Stufe.

  4. Wählen Sie unter Stufendetails das Kopiersymbol aus, um die Aufruf-URL Ihrer API zu kopieren.

    Geben Sie die Aufruf-URL Ihrer API in einen Webbrowser ein.

    Die URL sollte wie folgt aussehen: https://abcdef123.execute-api.us-east-2.amazonaws.com/test/petstore/pets?type=fish.

    Ihr Browser sendet eine GET-Anforderung an die API.

  5. Das Ergebnis sollte mit dem übereinstimmen, was Ihr Test in der API Gateway-Konsole zurückgegeben hat.