Einfache Rechner-API in API Gateway - 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.

Einfache Rechner-API in API Gateway

Unsere einfache Rechner-API stellt drei Methoden (GET, POST, GET) zum Aufrufen der berei Einfache Lambda-Rechnerfunktion. Eine grafische Darstellung dieser API sieht wie folgt aus:

Einfache Rechner-API für generiertes SDK

Diese drei Methoden zeigen verschiedene Methoden zur Bereitstellung der Eingabe für die Backend-Lambda-Funktion, um denselben Vorgang auszuführen:

  • Die GET /?a=...&b=...&op=...-Methode verwendet die Abfrageparameter, um den Eingang anzugeben.

  • Die POST /-Methode verwendet die JSON-Nutzlast {"a":"Number", "b":"Number", "op":"string"}, um den Eingang anzugeben.

  • Die GET /{a}/{b}/{op}-Methode verwendet die Pfadparameter, um den Eingang anzugeben.

Ist keine Definition vorhanden, generiert API Gateway den entsprechenden SDK-Methodennamen durch eine Kombination der HTTP-Methode und den Pfadbestandteilen. Der Root-Pfadbestandteil (/) wird als Api Root bezeichnet. Beispiel: Der Standardname der Java-SDK-Methoden für die API-Methode von GET /?a=...&b=...&op=... lautet getABOp, der Standardname der SDK-Methode für POST / lautet postApiRoot und der Standardname der SDK-Methode für GET /{a}/{b}/{op} lautet getABOp. Einzelne SDKs können die Konvention anpassen. Weitere Informationen finden Sie in der Dokumentation in der generierten SDK-Quelle für SDK-spezifische Methodennamen.

Sie können, und sollten, die Standardnamen der SDK-Methode überschreiben, indem Sie die Eigenschaft operationName für jede API-Methode angeben. Dies ist bei Erstellung der API-Methode oder der Aktualisierung der API-Methode mit der API Gateway-REST-API möglich. In der API-Swagger-Definition können Sie die operationId festlegen, um dasselbe Ergebnis zu erzielen.

Bevor wir zeigen, wie diese Methoden mit einem SDK aufgerufen werden, das von API Gateway für diese API generiert wurde, fassen wir die Einrichtung kurz zusammen. Detaillierte Anweisungen finden Sie unter Entwickeln Sie REST-APIs in API Gateway. Wenn API Gateway für Sie neu ist, lesen Sie zuerst Wählen Sie ein AWS Lambda Integrations-Tutorial.

Erstellen von Modellen für Eingaben und Ausgaben

Wir müssen ein Input-Modell für die API erstellen, um stark typisierte Eingaben im SDK anzugeben. Für die Beschreibung des Antworttextdatentyps erstellen wir ein Output-Modell und ein Result-Modell.

Erstellen von Modellen für Eingabe, Ausgabe und Ergebnis
  1. Klicken Sie im Navigationsbereich auf Models (Modelle).

  2. Wählen Sie Modell erstellen aus.

  3. Geben Sie unter Name input ein.

  4. Geben Sie für Content type (Inhaltstyp) application/json ein.

    Wenn kein passender Inhaltstyp gefunden wird, wird die Anforderungsvalidierung nicht durchgeführt. Geben Sie $default ein, um das gleiche Modell unabhängig vom Inhaltstyp zu verwenden.

  5. Geben Sie für Modellschema Folgendes ein:

    { "$schema" : "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "properties":{ "a":{"type":"number"}, "b":{"type":"number"}, "op":{"type":"string"} }, "title":"Input" }
  6. Wählen Sie Modell erstellen aus.

  7. Wiederholen Sie die folgenden Schritte, um jeweils ein Output- und ein Result-Modell zu erstellen.

    Geben Sie für das Output-Modell Folgendes für Modellschema ein:

    { "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "c": {"type":"number"} }, "title": "Output" }

    Geben Sie für das Result-Modell Folgendes für Modellschema ein: Ersetzen Sie die API-ID abc123 durch Ihre API-ID.

    { "$schema": "http://json-schema.org/draft-04/schema#", "type":"object", "properties":{ "input":{ "$ref":"https://apigateway.amazonaws.com/restapis/abc123/models/Input" }, "output":{ "$ref":"https://apigateway.amazonaws.com/restapis/abc123/models/Output" } }, "title":"Result" }

Einrichten von GET-/Abfrageparameter-Methode

Bei der GET /?a=..&b=..&op=..-Methode werden die Abfrageparameter in Method Request angegeben:

Einrichten der GET/URL-Abfragezeichenfolgenparameter
  1. Klicken Sie im Abschnitt Methodenanforderung für die GET-Methode in der Stamm-Ressource (/) auf Bearbeiten.

  2. Wählen Sie URL query string parameters (URL-Abfragezeichenfolgen-Parameter) und gehen Sie wie folgt vor:

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

    2. Geben Sie unter Name a ein.

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

    4. Caching bleibt ausgeschaltet.

    Wiederholen Sie die obigen Schritte und erstellen Sie eine Abfragezeichenfolge mit dem Namen b sowie eine Abfragezeichenfolge mit dem Namen op.

  3. Wählen Sie Speichern.

Einrichten eines Datenmodells für die Nutzlast als Eingabe für das Backend

Bei der POST /-Methode erstellen wir das Input-Modell und fügen Sie es der Methodenabfrage hinzu, um die Form der Eingabedaten zu definieren.

Einrichten des Datenmodells für die Nutzlast als Eingabe für das Backend
  1. Klicken Sie im Abschnitt Methodenanforderung für die POST-Methode in der Stamm-Ressource (/) auf Bearbeiten.

  2. Klicken Sie auf Anforderungstext.

  3. Wählen Sie Add model aus.

  4. Geben Sie für Content type (Inhaltstyp) application/json ein.

  5. Wählen Sie für Modell die Option Eingabe aus.

  6. Wählen Sie Speichern.

Bei diesem Modell können Ihre API-Kunden das SDK aufrufen, um die Eingabe eines Input-Objekts zu instanziieren. Ohne dieses Modell müssten die Kunden ein Dictionary-Objekt erstellen, um die JSON-Eingabe in der Lambda-Funktion darzustellen.

Einrichten eines Datenmodells für die Ergebnisausgabe vom Backend

Für alle drei Methoden erstellen wir das Result-Modell und fügen es zur Method Response der Methode hinzu, um die Form der Ausgabe zu definieren, die von der Lambda-Funktion zurückgegeben wird.

Einrichten des Datenmodells für die Ergebnisausgabe aus dem Backend
  1. Wählen Sie die Ressource /{a}/{b}/{op} und dann die GET-Methode aus.

  2. Klicken Sie auf der Registerkarte Methodenantwort unter Antwort 200 auf Bearbeiten.

  3. Klicken Sie unter Anforderungstext auf Modell hinzufügen.

  4. Geben Sie für Content type (Inhaltstyp) application/json ein.

  5. Wählen Sie für Modell die Option Ergebnis aus.

  6. Wählen Sie Speichern.

Bei diesem Modell können Ihre API-Kunden eine erfolgreiche Ausgabe parsen, indem sie die Eigenschaften für ein Result-Objekt lesen. Ohne dieses Modell müssten die Kunden ein Dictionary-Objekt erstellen, um die JSON-Ausgabe darzustellen.