Wie stelle ich eine serverlose Node.js-API mit AWS API Gateway bereit?

Wie Stelle Ich Eine Serverlose Node Js Api Mit Aws Api Gateway Bereit



AWS ist eine Cloud-Computing-Plattform mit einem umfangreichen Portfolio an Diensten. Von der Datenspeicherung bis hin zur Datenbearbeitung und Datenanalyse decken diese Dienste verschiedene Aspekte der IT-Branche ab. Heute unterstützt AWS auch mehrere Entwicklungssprachen und Laufzeitumgebungen. Eines der häufigsten Beispiele für solche Dienste ist AWS Lambda

AWS Lambda ist ein ereignisgesteuerter Computerdienst von AWS, der es seinen Benutzern ermöglicht, ihren Code auszuführen, ohne die Server bereitzustellen oder zu verwalten. Lambda kümmert sich effizient um die gesamte Computerinfrastruktur und die Verwaltung der Ressourcen. Es gibt mehrere Entwicklungssprachen, die vom Lambda-Dienst unterstützt werden, z. B. Go, Ruby, Python usw. Lambda gilt auch als kosteneffizienter Dienst, da nur Gebühren für die vom Benutzer verbrauchte Rechenzeit anfallen. Es fallen keine zusätzlichen Kosten an, wenn sich der für die Lambda-Funktion bereitgestellte Code nicht im Ausführungsstatus befindet.

Mehr lesen : Erste Schritte mit AWS Lambda







Kurzer Überblick



Dieser Artikel veranschaulicht die folgenden Aspekte:



Was ist ein serverloses Framework?

Der Begriff „Serverlos“ bezieht sich auf die Terminologie, bei der die Bereitstellung und Wartung der Server entweder von Drittanbietersoftware oder Cloud-Anbietern verwaltet wird. Solche Frameworks ermöglichen es Benutzern, sich auf die Kerngeschäftslogik zu konzentrieren, anstatt sich auf die Wartung der Server konzentrieren zu müssen. Heutzutage haben serverlose Frameworks die Aufmerksamkeit von Technologiegiganten auf sich gezogen und bieten enorme Vorteile.





Darüber hinaus handelt es sich um eine kostengünstige Lösung, da die Server von den Dienstleistern bereitgestellt und verwaltet werden. In AWS gilt Lambda als serverloser Dienst, da für die Ausführung lediglich der Code des Benutzers erforderlich ist. Mit AWS Lambda können Benutzer die Anwendungen einfach und kostengünstig in verschiedenen Laufzeitumgebungen erstellen und skalieren.

Was ist eine API?

API ist ein Akronym für 'Programmierschnittstelle'. Die formale Einführung von API beinhaltet, dass es sich um eine Reihe von Definitionen und Protokollen handelt, die es den beiden Komponenten einer Software oder einer Anwendung ermöglichen, nützliche Informationen für die Kommunikation auszutauschen.



Eine Echtzeitanwendung der API erfolgt über einen Webbrowser. Immer wenn ein Benutzer nach einer Website sucht, wird die Anfrage an den Server übermittelt, auf dem sich die Website befindet. Diese Kommunikation zwischen Server und Browser erfolgt über die API.

Was ist API-Gateway?

API Gateway ist ein vollständig verwalteter Service von AWS, der einem API-Management-Tool ähnelt. Mithilfe des API-Gateways können Entwickler problemlos verschiedene APIs erstellen, verwalten, veröffentlichen und skalieren. Ebenso ermöglicht das API-Gateway Benutzern die Kommunikation mit den anderen Mikrodiensten, die auf der Serverseite ausgeführt werden. Es nimmt die Eingaben des Benutzers entgegen, verarbeitet sie und leitet sie dann an die entsprechenden Microservices weiter. Diese Microservices verarbeiten diese Eingabe dann zur Ausgabegenerierung.

Was sind die verschiedenen API-Typen in API Gateway?

Das API-Gateway bietet Verwaltungsdienste für drei verschiedene Arten von APIs, wie unten erwähnt:

HTTP-API: Diese API wird häufig in der Webentwicklung verwendet, die jedoch nur auf der Clientseite beschränkt ist. Solche APIs können entweder als privat oder öffentlich klassifiziert werden.

Rest-API: Der Begriff REST steht für „Representation State Transfer API“. Es ist einer der am häufigsten verwendeten Ansätze, der das Frontend und Backend der Anwendung trennt. REST-APIs sind von Natur aus zustandslos und flexibel für Entwicklung und Implementierung.

WebSocket-API: Solche APIs werden verwendet, wenn es um Socket-Kommunikation geht. Mit der WebSocket-API können Benutzer Sockets für die bidirektionale Vollduplex-Kommunikation in der Webentwicklung erstellen. Diese APIs sind in JavaScript geschrieben.

Wie stellt man eine serverlose Node.js-API mit API Gateway bereit?

Für die Bereitstellung einer serverlosen Node.js-API mit API-Gateway verwenden wir den S3-Bucket, die Lambda-Funktion und das API-Gateway. Der S3-Bucket enthält den Code der Anwendung. Der eindeutige URI des Buckets wird der Lambda-Funktion als Handler bereitgestellt. Das API-Gateway wird als Auslöser zur Lambda-Funktion hinzugefügt, die die Eingaben des Benutzers verarbeitet und die entsprechende Ausgabe bereitstellt.

Nachfolgend finden Sie die Schritte zum Bereitstellen einer serverlosen Node.js-API mit dem API-Gateway:

Schritt 1: Erstellen Sie eine Lambda-Funktion

Um eine Lambda-Funktion zu erstellen, greifen Sie auf zu „Lambda“ Service von der AWS-Managementkonsole :

Erfahren Sie mehr: „So erstellen Sie eine Lambda-Funktion mit Python Runtime“ .

Klicken Sie auf der Lambda-Funktionsoberfläche auf „Funktion erstellen“ Taste:

Wählen Sie in der Benutzeroberfläche „Funktion erstellen“ die Option aus „Autor von Grund auf“ Möglichkeit:

Als nächstes kommt das 'Grundinformation' Abschnitt. Geben Sie in diesem Abschnitt den Namen für die Lambda-Funktion an 'Funktionsname' :

Klick auf das „Funktion erstellen“ Schaltfläche unten auf der Benutzeroberfläche:

Hier das Funktion wurde erschaffen erfolgreich :

Schritt 2: API-Gateway erstellen

Der nächste Schritt besteht darin, ein API-Gateway zu erstellen. Zu diesem Zweck greifen Sie auf die zu „API-Gateway“ Service von der AWS-Managementkonsole :

Scrollen Sie in der API-Gateway-Schnittstelle nach unten und klicken Sie auf 'Bauen' Option aus dem REST-API Block:

Auf der „API erstellen“ Schnittstelle, wählen die folgende hervorgehobene Option . Da wir eine bauen Rest-API Von Grund auf haben wir uns für folgende Optionen entschieden:

Im Einstellungen Geben Sie im Abschnitt auf derselben Schnittstelle den Namen für die API an „API-Name“ Textfeld:

Klick auf das „API erstellen“ Taste:

Nachdem Sie die API erfolgreich erstellt haben, klicken Sie auf 'Aktionen' Klicken Sie auf die Schaltfläche und wählen Sie die folgenden hervorgehobenen Optionen aus, um die Ressourcen und Methoden der API zu konfigurieren:

Geben Sie als Nächstes den Namen der API an „Ressourcenname“ Textfeld. Im Ressourcenpfad, Benutzer können den Pfad der Ressourcen angeben. Dieser angegebene Pfad wird dann mit den ursprünglichen Methoden zur Bearbeitung von Anfragen kombiniert. Drücke den „Ressource erstellen“ Taste:

Klicken Sie nach dem Erstellen der Ressource auf 'Aktionen' Klicken Sie erneut auf die Registerkarte und wählen Sie die aus „Ressource erstellen“ Methode zum Definieren von Methoden und Ressourcen innerhalb der API:

Geben Sie den Namen an „Ressourcenname“ Feld und klicken Sie auf „Ressource erstellen“ Taste:

Tippen Sie nach der Konfiguration der verschachtelten Ressourcen auf 'Aktionen' Klicken Sie auf die Schaltfläche und klicken Sie auf „Methode erstellen“ Schaltfläche aus dem Dropdown-Menü :

Wir möchten die Funktionsweise unserer API mithilfe von testen GET-Anfrage in Node.js. Daher wählen wir in der Methodenoberfläche die aus 'ERHALTEN' Anfrage:

Nach Auswahl des GET-Anfrage , Klick auf das 'überprüfen' Schaltfläche zum Bestätigen der Änderungen:

Auf der 'ERHALTEN' Methodenschnittstelle, geben Sie den Namen für die Lambda-Funktion an, die wir zuvor erstellt haben, und nehmen Sie die folgenden Konfigurationen vor. Danach drücken Sie die 'Speichern' Schaltfläche zum Bestätigen der Änderungen:

Nach dem Klicken auf 'Speichern' Klicken Sie auf die Schaltfläche. Das folgende Dialogfeld wird angezeigt. Drücke den 'OK' Taste:

Erstellen Sie auf ähnliche Weise eine weitere Methode, indem Sie ähnliche Schritte wie bei der ersten Methode ausführen. Benutzer können basierend auf ihren Anforderungen mehrere Methoden innerhalb einer API erstellen. Nachdem Sie alle Methoden konfiguriert haben, klicken Sie auf 'Aktionen' Registerkarte und wählen Sie die aus „API bereitstellen“ Möglichkeit:

Daraufhin wird das folgende Dialogfeld angezeigt. Im „Bereitstellungsphase“ geben Sie die Einzelheiten bekannt. Als nächstes kommt das 'Künstlername' Feld zur Angabe des Bühnennamens. Klick auf das 'Einsetzen' Taste:

Der API ist gewesen erfolgreich erstellt :

Runterscrollen die Schnittstelle und klicken Sie auf 'Änderungen speichern' Taste:

Schritt 3: Erstellen Sie den S3-Bucket

In diesem Schritt erstellen wir einen Bucket zum Speichern des Codes. Dieser Code wird mit der Lambda-Funktion verknüpft und die API wird verwendet, um die im Code konfigurierten Attribute abzurufen.

Um einen S3-Bucket zu erstellen, durchsuchen Sie „S3“ Dienst in der Suchleiste des AWS-Managementkonsole. Tippen Sie in den angezeigten Ergebnissen auf den Namen des Dienstes:

Klicken Sie auf der S3-Konsole auf „Eimer erstellen“ Option zum Starten des Prozesses:

Im Allgemeine Konfiguration Geben Sie im Abschnitt eine global eindeutige Kennung für den Bucket an markiertes Textfeld :

Durch die Einhaltung der Einstellungen als Standard , Klick auf das „Eimer erstellen“ Schaltfläche am unteren Rand der Benutzeroberfläche:

Dadurch wird der Bucket erstellt. Um nun den Code in den S3-Bucket hochzuladen, haben wir eine bereitgestellt einfacher Node-JS-Code In GitHub Repository. Laden Sie den Code im herunter Zip-Format :

Nach dem Herunterladen der Zip-Datei , gehe zu S3-Dashboard und wähle den Eimer. Klicken Sie auf der nächsten Oberfläche auf 'Hochladen' Taste und hochladen Die Zip-Datei zum Eimer:

Erfahren Sie mehr: Wie lade ich Objekte in Amazon Simple Storage Service hoch?

Tippen Sie auf die 'Dateien hinzufügen' Die Schaltfläche befindet sich rechts auf der Benutzeroberfläche neben dem 'Ordner hinzufügen' Taste. Nach dem Hinzufügen der Zip-Datei zum Eimer, schlag den 'Hochladen' Schaltfläche am unteren Rand der Benutzeroberfläche:

Der Datei ist gewesen erfolgreich hochgeladen :

Nach Hochladen Klicken Sie auf, um die Datei in den Bucket zu kopieren Objekt So zeigen Sie Eigenschaften an:

Klick auf das „S3-URI kopieren“ Taste. Dies wird zur Lambda-Funktion hinzugefügt:

Gehe zum Lambda-Dashboard und wählen Sie die Lambda-Funktion:

Scrollen Sie nach unten zum 'Code' Abschnitt und tippen Sie auf „Hochladen von“ Taste. Von dem Dropdown-Menü, Klick auf das „Amazon S3-Standort“ Möglichkeit:

Fügen Sie die ein „S3-URI“ im angezeigten Dialogfeld und klicken Sie auf 'Speichern' Taste:

Auf der Lambda-Funktionsschnittstelle , scrollen Sie nach unten zu „Laufzeiteinstellungen“ und klicken Sie auf 'Bearbeiten' Taste:

Im „Handler“ Bearbeiten Sie im Feld die folgenden Konfigurationen. Der „nodeapi“ ist der Ordnername, der in den S3-Bucket hochgeladen wird, und index.js ist der Einstiegspunkt. Klicken Sie anschließend auf 'Speichern' Taste:

Schritt 4: Verifizierung

Gehe zum API-Gateway Servicekonsole und klicken Sie auf „API“ Name:

Klicken Sie nach Auswahl der API auf „Stufen“ Klicken Sie in der Seitenleiste auf die Schaltfläche und klicken Sie dann auf die Bereitstellungsstufe, z. B. erste Stufe:

Kopiere das URL und starten Sie die Briefträger Tool auf dem lokalen Rechner:

Ein ... kreieren GET-Anfrage im Briefträger und fügen Sie die URL ein. Nach dem Klicken auf 'Schicken' Schaltfläche erhalten wir folgende Ergebnisse:

Das ist alles aus diesem Leitfaden.

Abschluss

Um die Node.js-API mit dem API-Gateway bereitzustellen, laden Sie Code in den S3-Bucket hoch, fügen Sie ihn als Handler und das API-Gateway als Auslöser für die Lambda-Funktion hinzu. Die über den Postman initiierte Anfrage wird über die API an die Lambda-Funktion übermittelt. Verwenden Sie zum Erstellen der API den API-Gateway-Service von AWS. Der S3-Bucket, der als Handler zur Lambda-Funktion hinzugefügt wurde, stellt den Code für die Verarbeitung der Anfrage bereit. Die Ausgabe wird auf der Postman-Konsole angezeigt. Dieser Artikel ist eine Schritt-für-Schritt-Anleitung zur Implementierung der Node.js-API mit dem AWS-API-Gateway.