Abfrage-API für Amazon Web Services erstellen AWS Lambda und API Gateway, Teil 2

Unsere erste Lambda-Funktion haben wir kürzlich erstellt und mit dem eingebauten Test-Framework online getestet. Nun wollen wir eine HTTPS-Rest-API über das Amazon API Gateway programmieren und als Trigger für AWS Lambda verwenden. Dies ist recht komfortabel über die grafische Management Console möglich.

Um einen Trigger für Lambda zu erstellen, wechselt man in der AWS-Management-Console zum Dienst API-Gateway. Er befindet sich im Bereich „Networking & Content Delivery“. Hier erstellen wir mit einem Klick auf „API erstellen“ eine neue API namens „MyHelloAPI“. Die API Gateway-Console ist derzeit noch nicht vollständig in deutscher Lokalisierung verfügbar. Bei „Choose the protocol“ verwenden wir „REST“, im Abschnitt „Neue API erstellen wählen wir „neue API“ und vergeben im Abschnitt „Einstellungen“ einen API-Namen, eine Beschreibung und wählen beim Endpunkttyp „Regional“.

Das Erstellen einer neuen API gelingt mit wenigen Mausklicks.

Ist das geschehen, erstellen wir „innerhalb“ der neuen API mit Hilfe des Menüs „Aktionen / Ressource erstellen“ eine neue Child-Ressource namens „/helloworld“. Auf der neuen Child-Ressource definieren wir dann mit Hilfe des Menüs „Aktionen / Methode erstellen“ eine neue Methode vom Typ „Get“.

Beim Integration-Typ wählen wir „Lambda Function“ und geben dann untern bei „Lambda-Region“ die Region und bei „Lambda Function“ den Namen der im Teil 1 erzeugten Lambda-Funktion ein und klicken auf „Speichern“. Wir bekommen dann den Hinweis, dass wir im Begriff sind, API-Gateway Berechtigungen auf eine Lambda-Funktion einzuräumen.

Das Erstellen einer Ressource.Das Ergebnis sieht dann so aus, wie in der vorangestellten Abbildung. Man achte auf die visuelle Darstellung der Verarbeitung mit den Pfeilen und dem Client auf der linken Seite sowie der Lambda-Function auf der rechten Seite. Die „Response geht dann zurück über ein JSON-Modell an den Client.

Bevor wir die das Gateway nutzen können, müssen wir die API allerdings erst „bereitstellen“ (deployen), was in verschiedenen „Stufen“ (Stages) möglich ist. Dazu wählt man im Menü „Actions“ den Eintrag „Deploy API“. Hat man eine Beschreibung und einen Stage festgelegt, erhält man nach kurzer Zeit die fertige „Invoke URL“.

Jeder neue Stage hat seine eigene Invoke-URL.

Allerdings verweist die Invoke-URL nur auf das root-Verzeichnis und nicht auf die Child-Ressource, hier “/helloworld“, sodass der Aufruf der Invoke-URL zunächst ein „Missing Authentication Token“ liefert. Mit der richtigen „Sub-URL“ namens „/Test/helloworld“ erscheint dann der richtige Text.

Hier weiterlesen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.