Tutorial: Erstellen Sie eine REST API mit einer HTTP Nicht-Proxy-Integration - 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.

Tutorial: Erstellen Sie eine REST API mit einer HTTP Nicht-Proxy-Integration

In diesem Tutorial erstellen Sie mithilfe der Amazon API Gateway-Konsole eine API von Grund auf neu. Sie können sich die Konsole als API Designstudio vorstellen und sie verwenden, um die API Funktionen zu definieren, mit ihrem Verhalten zu experimentierenAPI, sie zu erstellen und schrittweise bereitzustellen. API

Erstellen Sie eine API mit HTTP benutzerdefinierter Integration

Dieser Abschnitt führt Sie durch die Schritte zum Erstellen von Ressourcen, zum Bereitstellen von Methoden für eine Ressource, zum Konfigurieren einer Methode zur Erzielung des gewünschten API Verhaltens sowie zum Testen und Bereitstellen vonAPI.

In diesem Schritt erstellen Sie eine leereAPI. In den folgenden Schritten erstellen Sie Ressourcen und Methoden, um mithilfe einer HTTP Nicht-Proxy-Integration eine Verbindung API zum http://petstore-demo-endpoint.execute-api.com/petstore/pets Endpunkt herzustellen.

Um eine zu erstellen API
  1. Melden Sie sich bei der API Gateway-Konsole unter https://console.aws.amazon.com/apigatewayan.

  2. Wenn Sie API Gateway zum ersten Mal verwenden, wird eine Seite angezeigt, auf der Sie mit den Funktionen des Dienstes vertraut gemacht werden. Wählen Sie RESTAPIunter Build aus. Wenn das API Popup-Fenster „Beispiel erstellen“ angezeigt wird, wählen Sie „OK“.

    Wenn Sie API Gateway nicht zum ersten Mal verwenden, wählen Sie Create API. Wählen Sie RESTAPIunter Build aus.

  3. Geben Sie als APINamen einHTTPNonProxyAPI.

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

  5. Lassen Sie den APIEndpunkttyp auf Regional eingestellt.

  6. Wählen Sie Erstellen ausAPI.

In der Resources-Struktur wird die Stammressource (/) ohne Methoden angezeigt. In dieser Übung erstellen wir die API mit der HTTP benutzerdefinierten Integration der PetStore Website (http://petstore-demo-endpoint.execute-api. com/petstore/pets.) Zur Veranschaulichung erstellen wir eine /pets Ressource als untergeordnetes Element des Stammverzeichnisses und stellen eine GET Methode für diese Ressource bereit, mit der ein Kunde eine Liste verfügbarer Pets-Artikel von der PetStore Website abrufen kann.

Erstellen einer /pets-Ressource
  1. Wählen Sie Create Resource (Ressource erstellen) aus.

  2. Die Proxy-Ressource bleibt ausgeschaltet.

  3. Ressourcenpfad wird als / beibehalten.

  4. Geben Sie für Resource name (Ressourcenname) pets ein.

  5. Halten Sie CORS(Cross-Origin Resource Sharing) ausgeschaltet.

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

In diesem Schritt erstellen Sie eine GET-Methode für die /pets-Ressource. Die GET-Methode ist in die http://petstore-demo-endpoint.execute-api.com/petstore/pets-Website integriert. Zu den weiteren Optionen für eine API Methode gehören die folgenden:

  • POST, wird hauptsächlich zur Erstellung untergeordneter Ressourcen verwendet.

  • PUT, wird hauptsächlich zur Aktualisierung vorhandener Ressourcen verwendet (und kann, obwohl dies nicht empfohlen wird, zum Erstellen untergeordneter Ressourcen verwendet werden).

  • DELETE – wird zum Löschen von Ressourcen eingesetzt.

  • PATCH – wird zum Aktualisieren von Ressourcen verwendet.

  • HEAD, wird hauptsächlich in Testszenarien verwendet. Es ist dasselbe wie die Darstellung der Ressource, gibt diese GET aber nicht zurück.

  • OPTIONS, das von Anrufern verwendet werden kann, um Informationen über die verfügbaren Kommunikationsoptionen für den Zieldienst abzurufen.

Für die Methode der Integrationsanfrage müssen Sie eine HTTPMethode wählen, die vom Backend unterstützt wird. Für HTTP oder ist es sinnvollMock integration, dass die Methodenanforderung und die Integrationsanforderung dasselbe HTTP Verb verwenden. Bei anderen Integrationstypen verwendet die Methodenanforderung wahrscheinlich ein anderes HTTP Verb als die Integrationsanforderung. Um beispielsweise eine Lambda-Funktion aufzurufen, muss die Integrationsanforderung die Funktion aufrufen, wohingegen die Methodenanforderung je nach Logik der Lambda-Funktion jedes beliebige HTTP Verb verwenden kann. POST

So erstellen Sie eine GET-Methode für die /pets-Ressource
  1. Wählen Sie die /pets-Ressource aus.

  2. Wählen Sie Methode erstellen aus.

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

  4. Wählen Sie als Integrationstyp die Option Integration aus. HTTP

  5. Lassen Sie die HTTPProxyintegration ausgeschaltet.

  6. Wählen Sie als HTTPMethode die Option aus GET.

  7. Geben Sie für Endpunkt URL den Wert einhttp://petstore-demo-endpoint.execute-api.com/petstore/pets.

    Auf der PetStore Website können Sie auf einer bestimmten Seite eine Liste mit Pet Objekten abrufen, die nach Tierart sortiert sind, z. B. „Hund“ oder „Katze“.

  8. Für Inhaltsbehandlung wählen Sie Passthrough aus.

  9. Wählen Sie die Parameter für die URL Abfragezeichenfolge.

    Die PetStore Website verwendet die Parameter type und die page Abfragezeichenfolge, um eine Eingabe zu akzeptieren. Sie fügen der Methodenanforderung Abfragezeichenfolgenparameter hinzu und ordnen sie den entsprechenden Abfragezeichenfolgenparametern der Integrationsanforderung zu.

  10. Gehen Sie wie folgt vor, um die Abfragezeichenfolgenparameter hinzuzufügen:

    1. Wählen Sie Abfragezeichenfolge hinzufügen aus.

    2. Für Name geben Sie type ein.

    3. Lassen Sie die Optionen Required (Obligatorisch) and Caching (Cache) deaktiviert.

    Wiederholen Sie die obigen Schritte, um eine zusätzliche Abfragezeichenfolge namens page zu erstellen.

  11. Wählen Sie Methode erstellen aus.

Bei der Anforderungsübermittlung kann der Client nun einen Haustiertyp und eine Seitenzahl als Abfragezeichenfolge-Parameter senden. Diese Eingabeparameter müssen den Abfragezeichenfolgenparametern der Integration zugeordnet werden, um die Eingabewerte an unsere PetStore Website im Backend weiterzuleiten.

Zuordnen von Eingabeparametern zur Integrationsanforderung
  1. Klicken Sie auf der Registerkarte Integrationsanfrage unter Einstellungen für Integrationsanfragen auf Bearbeiten.

  2. Wählen Sie die Parameter für die URL Abfragezeichenfolge aus und gehen Sie dann wie folgt vor:

    1. Klicken Sie auf Abfragezeichenfolge-Parameter hinzufügen.

    2. Geben Sie unter Name type ein.

    3. Für Zugeordnet von geben Sie method.request.querystring.type ein.

    4. Caching bleibt ausgeschaltet.

    5. Klicken Sie auf Abfragezeichenfolge-Parameter hinzufügen.

    6. Geben Sie unter Name page ein.

    7. Für Zugeordnet von geben Sie method.request.querystring.page ein.

    8. Caching bleibt ausgeschaltet.

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

Um das zu testen API
  1. Wählen Sie die Registerkarte Test. Möglicherweise müssen Sie die rechte Pfeiltaste wählen, um die Registerkarte anzuzeigen.

  2. Für Abfrage-Zeichenketten geben Sie type=Dog&page=2 ein.

  3. Wählen Sie Test aus.

    Das Ergebnis sollte wie folgt aussehen:

    Ergebnis der Methode „Test-Aufrufen GET bei Haustieren“

    Jetzt, da der Test erfolgreich ist, können wir den bereitstellen, um ihn öffentlich API zugänglich zu machen.

  4. Wählen Sie BereitstellenAPI aus.

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

  6. Geben Sie für Stage name (Stufenname) Prod ein.

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

  8. Wählen Sie Bereitstellen.

  9. (Optional) Unter Stage-Details können Sie für Invoke das Kopiersymbol auswählenURL, um Ihren API eigenen Aufruf URL zu kopieren. Sie können dies mit Tools wie Postman und c verwenden, um Ihre URL zu testen. API

Wenn Sie an verwenden, SDK um einen Client zu erstellen, können Sie die von der bereitgestellten Methoden aufrufen, SDK um die Anfrage zu signieren. Einzelheiten zur Implementierung finden Sie auf AWS SDKder Seite Ihrer Wahl.

Anmerkung

Wenn Änderungen an Ihrem vorgenommen werdenAPI, müssen Sie das erneut bereitstellen, API um die neuen oder aktualisierten Funktionen verfügbar zu machen, bevor Sie die Anfrage URL erneut aufrufen.

(Optionale) Parameter für die Zuordnungsanforderung

Ordnen Sie die Anforderungsparameter für ein Gateway zu API API

In diesem Tutorial wird gezeigt, wie Sie einen Pfadparameter für die API Methodenanforderung erstellen, um eine Element-ID anzugeben, ihn dem {id} Pfadparameter in der Integrationsanforderung zuordnen und die Anfrage URL an den Endpunkt senden. {petId} HTTP

Anmerkung

Eine Verwechslung von Groß- und Kleinschreibung kann im späteren Verlauf zu Fehlern führen.

Schritt 1: Erstellen von Ressourcen

In diesem Schritt erstellen Sie eine Ressource mit dem Pfadparameter {petId}.

Um die Ressource {petId} zu erstellen
  1. Wählen Sie die /pets-Ressource aus und klicken Sie dann auf Ressource erstellen.

  2. Die Proxy-Ressource bleibt ausgeschaltet.

  3. Für Ressourcenpfad wählen Sie die Option/pets/aus.

  4. Geben Sie für Resource name (Ressourcenname) {petId} ein.

    Verwenden Sie rundherum geschweifte Klammern ({ }), petId sodass /pets/ {} angezeigt wird. petId

  5. Lassen Sie CORS(Cross Origin Resource Sharing) ausgeschaltet.

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

Schritt 2: Erstellen und Testen der Methoden

In diesem Schritt erstellen Sie eine GET-Methode mit einem {petId}-Pfadparameter.

Um die GET Methode einzurichten
  1. Wählen Sie die Ressource/{petId} aus und wählen Sie dann Methode erstellen aus.

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

  3. Wählen Sie als Integrationstyp die Option HTTPIntegration aus.

  4. Lassen Sie die HTTPProxyintegration ausgeschaltet.

  5. Wählen Sie als HTTPMethode die Option aus GET.

  6. Geben Sie für Endpoint URL Folgendes ein http://petstore-demo-endpoint.execute-api.com/petstore/pets/{id}

  7. Für Inhaltsbehandlung wählen Sie Passthrough aus.

  8. Das Standard-Timeout bleibt aktiviert.

  9. Wählen Sie Methode erstellen aus.

Jetzt ordnen Sie den soeben erstellten {petId} Pfadparameter dem {id} Pfadparameter am HTTP Endpunkt URL der Integrationsanforderung zu. Der HTTP Endpunkt URL warhttp://petstore-demo-endpoint.execute-api.com/petstore/pets/{id}.

Zuordnen des {petId}-Pfadparameters
  1. Klicken Sie auf der Registerkarte Integrationsanfrage unter Einstellungen für Integrationsanfragen auf Bearbeiten.

  2. Wählen Sie URLPfadparameter.

  3. APIGateway erstellt einen Pfadparameter für die Integrationsanfrage mit dem Namen petId. Dieser Pfadparameter ist jedoch nicht gültig für den HTTP EndpunktURL, den Sie als Backend-Integration festgelegt haben. Der HTTP Endpunkt verwendet {id} ihn als Pfadparameter. Löschen Sie das Feld Name petIdund geben Sie einid.

    Damit wird der Pfadparameter petId der Methodenanforderung dem Pfadparameter id der Integrationsanforderung zugewiesen.

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

Jetzt können Sie die Methode testen.

So testen Sie die -Methode
  1. Wählen Sie die Registerkarte Test. Möglicherweise müssen Sie die rechte Pfeiltaste wählen, um die Registerkarte anzuzeigen.

  2. Geben Sie unter Pfad für petIdden Wert ein4.

  3. Wählen Sie Test aus.

    Wenn diese Aktion erfolgreich ist, zeigt Antworttext Folgendes an:

    { "id": 4, "type": "bird", "price": 999.99 }

Schritt 3: Stellen Sie das bereit API

In diesem Schritt stellen Sie das bereit, API damit Sie es außerhalb der API Gateway-Konsole aufrufen können.

So stellen Sie die API bereit
  1. Wählen Sie BereitstellenAPI aus.

  2. Für Stufe wählen Sie die Option Prod aus.

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

  4. Wählen Sie Bereitstellen.

Schritt 4: Testen des API

In diesem Schritt verlassen Sie die API Gateway-Konsole und greifen mit Ihrem auf den HTTP Endpunkt API zu.

  1. Klicken Sie im Hauptnavigationsbereich auf Stufe.

  2. Wählen Sie unter Stage-Details das Kopiersymbol aus, um Ihren API Aufruf zu kopieren. URL

    Sie sollte wie folgt aussehen:

    https://my-api-id.execute-api.region-id.amazonaws.com/prod
  3. Geben Sie dies URL in das Adressfeld eines neuen Browser-Tabs ein und fügen Sie es /pets/4 an das an, URL bevor Sie Ihre Anfrage abschicken.

  4. Der Browser gibt Folgendes zurück:

    { "id": 4, "type": "bird", "price": 999.99 }

Nächste Schritte

Sie können Ihre weiter anpassen, API indem Sie die Anforderungsvalidierung aktivieren, Daten transformieren oder benutzerdefinierte Gateway-Antworten erstellen.

Weitere Möglichkeiten zur Anpassung Ihrer API finden Sie in den folgenden Tutorials: