Cum să implementați un API Node.js fără server cu AWS API Gateway?

Cum Sa Implementati Un Api Node Js Fara Server Cu Aws Api Gateway



AWS este o platformă de cloud computing cu un portofoliu vast de servicii. De la stocarea datelor la manipularea datelor și analiza datelor, aceste servicii acoperă diferite aspecte ale industriei IT. Astăzi, AWS acceptă și mai multe limbaje de dezvoltare și medii de rulare. Unul dintre cele mai comune exemple de astfel de servicii este AWS Lambda

AWS Lambda este un serviciu de calcul bazat pe evenimente al AWS care permite utilizatorilor săi să-și execute codul fără a furniza sau gestiona serverele. Lambda gestionează eficient întreaga infrastructură de calcul și administrarea resurselor. Există mai multe limbaje de dezvoltare care sunt acceptate de serviciul Lambda, de exemplu, Go, Ruby, Python etc. Lambda este, de asemenea, considerat un serviciu eficient din punct de vedere al costurilor, deoarece suportă taxe doar pentru timpul de calcul consumat de utilizator. Nu există taxe suplimentare atunci când codul furnizat funcției Lambda nu este în starea de execuție.

Citeşte mai mult : Noțiuni introductive cu AWS Lambda







Schiță rapidă



Acest articol ilustrează următoarele aspecte:



Ce este un cadru fără server?

Termenul „Fără server” se referă la terminologia în care furnizarea și întreținerea serverelor sunt gestionate fie de software terți, fie de furnizori de cloud. Astfel de cadre permit utilizatorilor să se concentreze pe logica de bază a afacerii în loc să întrețină serverele. Astăzi, Serverless Framework-urile au atras atenția giganților tehnologiei și oferă beneficii enorme.





În plus, aceasta este, de asemenea, o soluție rentabilă, deoarece serverele sunt furnizate și gestionate de furnizorii de servicii. În AWS, Lambda este considerat un serviciu fără server, deoarece necesită doar codul de la utilizator pentru a opera. Cu AWS Lambda, utilizatorii pot construi și scala cu ușurință aplicațiile în diferite medii de rulare într-un mod rentabil.

Ce este un API?

API este un acronim pentru 'Interfața de programare a aplicației'. Introducerea oficială a API include faptul că este un set de definiții și protocoale care permit celor două componente ale software-ului sau unei aplicații să facă schimb de informații utile pentru comunicare.



O aplicație în timp real a API este prin utilizarea unui browser web. Ori de câte ori un utilizator caută un site web, cererea este livrată la serverul pe care se află site-ul web. Această comunicare între server și browser are loc prin intermediul API-ului.

Ce este API Gateway?

API Gateway este un serviciu complet gestionat de AWS, care este similar cu un instrument de management API. Prin utilizarea gateway-ului API, dezvoltatorii pot crea, gestiona, publica și scala cu ușurință diferite API-uri. În mod similar, gateway-ul API permite utilizatorilor să comunice cu celelalte microservicii care rulează pe partea serverului. Preia intrarea de la utilizator, o procesează și apoi o direcționează către microservicii adecvate. Aceste microservicii vor procesa apoi această intrare pentru generarea de ieșiri.

Care sunt diferitele tipuri de API în API Gateway?

Gateway-ul API oferă servicii de management pentru trei tipuri diferite de API-uri, după cum este menționat mai jos:

API HTTP: Acest API este utilizat pe scară largă în dezvoltarea web, care este limitată doar la partea clientului. Astfel de API-uri pot fi clasificate fie private, fie publice.

Rest API: Termenul REST înseamnă „API de transfer de stat de reprezentare”. Este una dintre cele mai frecvent utilizate abordări care separă interfața și backend-ul aplicației. API-urile REST sunt de natură apatridă și sunt flexibile pentru dezvoltare și implementare.

API WebSocket: Astfel de API-uri sunt utilizate atunci când este implicată comunicarea cu socket. WebSocket API permite utilizatorilor să creeze socket-uri pentru comunicare bidirecțională full duplex în dezvoltarea Web. Aceste API-uri sunt scrise în JavaScript.

Cum se implementează un API Node.js fără server cu API Gateway?

Pentru implementarea unui API Serverless Node.js cu API Gateway, vom folosi compartimentul S3, Funcția Lambda și gateway-ul API. Bucket-ul S3 va conține codul aplicației. URI-ul unic al compartimentului va fi furnizat Funcției Lambda ca handler. Gateway-ul API va fi adăugat ca declanșator la Funcția Lambda, care va procesa intrarea utilizatorului și va oferi ieșirea corespunzătoare.

Mai jos sunt pașii pentru implementarea unui API Serverless Node.js cu gateway-ul API:

Pasul 1: Creați o funcție Lambda

Pentru a crea o funcție Lambda, accesați „Lambda” serviciu de la Consola de administrare AWS :

Află mai multe: „Cum se creează o funcție Lambda cu Python Runtime” .

În interfața Funcției Lambda, faceți clic pe „Creează funcția” buton:

Din interfața Creare funcție, selectați „Autor de la zero” opțiune:

Urmează 'Informatii de baza' secțiune. În această secțiune, furnizați numele funcției Lambda în „Numele funcției” :

Faceți clic pe „Creează funcția” butonul situat în partea de jos a interfeței:

Aici funcţie a fost creat cu succes :

Pasul 2: Creați API Gateway

Următorul pas este crearea unui Gateway API. În acest scop, accesați „API Gateway” serviciu de la Consola de administrare AWS :

Derulați în jos interfața API Gateway și faceți clic pe 'Construi' opțiunea din API-ul REST bloc:

Pe „Creați API” interfata, Selectați următoarele opțiunea evidențiată . Pe măsură ce construim o Rest API de la zero, am ales următoarele opțiuni:

În Setări secțiunea de pe aceeași interfață, furnizați numele API-ului în „Nume API” câmp text:

Faceți clic pe „Creați API” buton:

După crearea cu succes a API-ului, faceți clic pe „Acțiuni” butonul și selectați următoarele opțiuni evidențiate pentru a configura resursele și metodele API:

Apoi, furnizați numele API-ului în fișierul 'Numele resursei' câmp de text. În Calea resurselor, utilizatorii pot specifica calea resurselor. Această cale specificată va fi apoi combinată cu metodele originale pentru a gestiona cererile. Apasă pe „Creează o resursă” buton:

După crearea Resursei, faceți clic pe „Acțiuni” filă din nou și alegeți „Creează o resursă” metodă de definire a metodelor și resurselor în interiorul API:

Furnizați numele 'Numele resursei' câmp și faceți clic pe „Creează o resursă” buton:

După configurarea resurselor imbricate, atingeți „Acțiuni” butonul și faceți clic pe „Creați metoda” butonul de la meniul derulant :

Dorim să testăm funcționarea API-ului nostru utilizând cerere GET în Node.js. Prin urmare, în interfața Metode, vom selecta 'OBȚINE' cerere:

După selectarea cerere GET , faceți clic pe 'Verifica' butonul pentru a confirma modificările:

Pe 'OBȚINE' interfața metodei, furnizați numele funcției Lambda pe care am creat-o mai devreme și faceți următoarele configurații. După aceea a lovit 'Salva' butonul pentru a confirma modificările:

După ce faceți clic pe 'Salva' butonul, va apărea următoarea casetă de dialog. Apasă pe 'BINE' buton:

În mod similar, creați încă o metodă urmând pași similari pe care i-am urmat pentru prima metodă. Utilizatorii pot crea mai multe metode în cadrul unui API în funcție de cerințele lor. După configurarea tuturor metodelor, faceți clic pe „Acțiuni” fila și selectați „Implementează API” opțiune:

Aceasta va afișa următoarea casetă de dialog. În „Etapa de implementare” furnizați detaliile. Urmează 'Nume de scena' câmp pentru specificarea numelui scenei. Faceți clic pe „Implementează” buton:

The API a fost creat cu succes :

Deruleaza in jos interfață și faceți clic pe 'Salvează modificările' buton:

Pasul 3: Creați găleată S3

În acest pas, vom crea o găleată pentru a stoca codul. Acest cod va fi asociat cu funcția Lambda și API-ul va fi folosit pentru a prelua atributele configurate în interiorul codului.

Pentru a crea o găleată S3, căutați 'S3' serviciu în bara de căutare a Consola de administrare AWS. Atingeți numele serviciului din rezultatele afișate:

Pe consola S3, faceți clic pe „Creează o găleată” opțiunea de a iniția procesul:

În Configurație generală secțiunea, furnizați un identificator unic la nivel global pentru compartimentul din câmp de text evidențiat :

Păstrând setări la fel de Mod implicit , faceți clic pe „Creează o găleată” butonul din partea de jos a interfeței:

Aceasta va crea găleata. Acum, pentru a încărca codul în bucket-ul S3, am furnizat un cod simplu Node JS în GitHub repertoriu. Descărcați codul din Format zip :

După descărcarea Fișier Zip , mergi la Tabloul de bord S3 și alegeți găleata. Pe următoarea interfață, faceți clic pe „Încărcare” butonul și încărcați cel Fișier Zip la găleată:

Află mai multe: Cum să încărcați obiecte în Amazon Simple Storage Service?

Apasă pe 'Adăugați fișiere' butonul situat în partea dreaptă a interfeței, învecinat cu 'Adaugă folder' buton. După adăugarea Fișier Zip la găleată, lovește „Încărcare” butonul din partea de jos a interfeței:

The fişier a fost încărcat cu succes :

După încărcare fișierul în găleată, faceți clic pe Obiect pentru a vizualiza proprietăți:

Faceți clic pe „Copiați URI S3” buton. Acesta va fi adăugat la funcția Lambda:

Du-te la Tabloul de bord Lambda și alegeți funcția Lambda:

Derulați în jos la 'Cod' secțiunea și atingeți „Încărcați de la” buton. De la meniu derulant, faceți clic pe „Locația Amazon S3” opțiune:

Lipiți „URI S3” în caseta de dialog afișată și faceți clic pe 'Salva' buton:

Pe Interfața funcției Lambda , derulați în jos la „Setări de rulare” și faceți clic pe 'Editați | ×' buton:

În „Manipulator” câmp, editați următoarele configurații. The „nodeapi” este numele folderului încărcat în compartimentul S3 și index.js este punctul de intrare. După aceea, faceți clic pe 'Salva' buton:

Pasul 4: Verificare

Du-te la Gateway API consola de service și faceți clic pe „API” Nume:

După ce selectați API-ul, faceți clic pe „Etape” butonul din bara laterală și apoi faceți clic pe etapa de implementare, de exemplu, prima etapă:

Copiați URL și lansați Poştaş instrument pe mașina locală:

Creeaza o cerere GET în Poştaş și inserați URL-ul în el. După ce faceți clic pe 'Trimite' butonul, obținem următoarele rezultate:

Asta este tot din acest ghid.

Concluzie

Pentru a implementa API-ul Node.js cu gateway-ul API, încărcați codul în compartimentul S3, adăugați-l ca handler și gateway-ul API ca declanșator al funcției Lambda. Solicitarea inițiată folosind Poștașul va fi livrată Funcției Lambda prin API. Pentru a crea API-ul, utilizați serviciul API gateway al AWS. Bucket-ul S3 care a fost adăugat ca handler la Funcția Lambda va furniza codul pentru procesarea cererii. Ieșirea va fi afișată pe consola Poștașului. Acest articol este un tutorial pas cu pas pentru implementarea API-ului Node.js cu gateway-ul AWS API.