Jak nasadit Serverless Node.js API s AWS API Gateway?

Jak Nasadit Serverless Node Js Api S Aws Api Gateway



AWS je cloudová platforma s rozsáhlým portfoliem služeb. Od ukládání dat po manipulaci s daty a analýzu dat, tyto služby pokrývají různé aspekty IT průmyslu. Dnes AWS také podporuje několik vývojových jazyků a běhových prostředí. Jedním z nejběžnějších příkladů takových služeb je AWS Lambda

AWS Lambda je událostmi řízená výpočetní služba AWS, která umožňuje svým uživatelům spouštět jejich kód bez poskytování nebo správy serverů. Lambda efektivně zajišťuje veškerou výpočetní infrastrukturu a správu zdrojů. Existuje několik vývojových jazyků, které jsou podporovány službou Lambda, např. Go, Ruby, Python atd. Lambda je také považována za nákladově efektivní službu, protože je zpoplatněna pouze za výpočetní čas spotřebovaný uživatelem. Pokud kód poskytnutý funkci Lambda není ve stavu provádění, nejsou účtovány žádné další poplatky.

Přečtěte si více : Začínáme s AWS Lambda







Rychlý přehled



Tento článek ilustruje následující aspekty:



Co je to Serverless Framework?

Termín “Bez serveru” odkazuje na terminologii, kde poskytování a údržbu serverů řídí buď software třetích stran, nebo poskytovatelé cloudu. Takové rámce umožňují uživatelům soustředit se na hlavní obchodní logiku namísto údržby serverů. Serverless Frameworks dnes přitáhly pozornost technologických gigantů a nabízejí obrovské výhody.





Navíc je to také cenově výhodné řešení, protože servery poskytují a spravují poskytovatelé služeb. V AWS je Lambda považována za službu bez serveru, protože ke své činnosti vyžaduje pouze kód od uživatele. S AWS Lambda mohou uživatelé snadno vytvářet a škálovat aplikace v různých runtime prostředích nákladově efektivním způsobem.

Co je API?

API je zkratka pro 'Aplikační programovací rozhraní'. Formální zavedení API zahrnuje, že se jedná o sadu definic a protokolů, které umožňují dvěma komponentám softwaru nebo aplikace vyměňovat si užitečné informace pro komunikaci.



Aplikace API v reálném čase je pomocí webového prohlížeče. Kdykoli uživatel vyhledává webovou stránku, je požadavek doručen serveru, kde se webová stránka nachází. Tato komunikace mezi serverem a prohlížečem probíhá prostřednictvím API.

Co je API Gateway?

API Gateway je plně spravovaná služba AWS, která je podobná nástroji API Management. Pomocí brány API mohou vývojáři snadno vytvářet, spravovat, publikovat a škálovat různá rozhraní API. Podobně brána API umožňuje uživatelům komunikovat s ostatními mikroslužbami běžícími na straně serveru. Vezme vstup od uživatele, zpracuje ho a poté ho nasměruje do příslušných mikroslužeb. Tyto mikroslužby pak zpracují tento vstup pro generování výstupu.

Jaké jsou různé typy API v API Gateway?

Brána API poskytuje služby správy pro tři různé typy rozhraní API, jak je uvedeno níže:

HTTP API: Toto API je široce používáno ve vývoji webových aplikací, které je omezeno pouze na stranu klienta. Taková rozhraní API mohou být klasifikována jako soukromá nebo veřejná.

Rest API: Termín REST znamená „Representation State Transfer API“. Je to jeden z nejčastěji používaných přístupů, které oddělují frontend a backend aplikace. REST API jsou ve své podstatě bezstavová a jsou flexibilní pro vývoj a implementaci.

WebSocket API: Taková rozhraní API se používají, když je zapojena soketová komunikace. WebSocket API umožňuje uživatelům vytvářet sokety pro obousměrnou plně duplexní komunikaci při vývoji webu. Tato rozhraní API jsou napsána v JavaScriptu.

Jak nasadit rozhraní API Node.js bez serveru s bránou API?

Pro nasazení Serverless Node.js API s API Gateway budeme používat S3 bucket, Lambda Function a API bránu. Kbelík S3 bude obsahovat kód aplikace. Jedinečné URI lopaty bude poskytnuto funkci Lambda jako handleru. Brána API bude přidána jako spouštěč k funkci Lambda, která zpracuje vstup uživatele a poskytne příslušný výstup.

Níže jsou uvedeny kroky pro nasazení rozhraní Serverless Node.js API s bránou API:

Krok 1: Vytvořte funkci Lambda

Chcete-li vytvořit funkci Lambda, přejděte na 'Lambda' služba od Konzole pro správu AWS :

Další informace: „Jak vytvořit funkci Lambda pomocí Python Runtime“ .

V rozhraní funkce Lambda klikněte na 'Vytvořit funkci' knoflík:

V rozhraní Create Function vyberte “Autor od nuly” volba:

Dále přichází na řadu 'Základní informace' sekce. V této části zadejte název funkce Lambda v 'Název funkce' :

Klikněte na 'Vytvořit funkci' tlačítko umístěné ve spodní části rozhraní:

Tady, funkce byl vytvořen úspěšně :

Krok 2: Vytvořte bránu API

Dalším krokem je vytvoření brány API. Za tímto účelem přejděte na 'Brána API' služba od Konzole pro správu AWS :

Přejděte dolů rozhraním API Gateway a klikněte na 'Stavět' možnost z REST API blok:

Na 'Vytvořit API' rozhraní, vybrat následující zvýrazněná možnost . Jelikož budujeme a Rest API od začátku jsme vybrali následující možnosti:

V Nastavení části na stejném rozhraní zadejte název rozhraní API v 'Název API' textové pole:

Klikněte na 'Vytvořit API' knoflík:

Po úspěšném vytvoření API klikněte na 'Akce' a vyberte následující zvýrazněné možnosti pro konfiguraci prostředků a metod rozhraní API:

Dále zadejte název API v 'Název zdroje' textové pole. V Cesta zdroje, uživatelé mohou zadat cestu ke zdrojům. Tato zadaná cesta bude poté zkombinována s původními metodami pro zpracování požadavků. Klikněte na 'Vytvořit zdroj' knoflík:

Po vytvoření zdroje klikněte na 'Akce' znovu kartu a vyberte 'Vytvořit zdroj' metoda pro definování metod a prostředků uvnitř API:

Uveďte název 'Název zdroje' pole a klikněte na 'Vytvořit zdroj' knoflík:

Po konfiguraci vnořených prostředků klepněte na 'Akce' a klikněte na 'Vytvořit metodu' tlačítko z rozbalovací nabídka :

Chceme otestovat fungování našeho API pomocí požadavek GET v Node.js. Proto v rozhraní Methods vybereme 'DOSTAT' žádost:

Po výběru požadavek GET , klikněte na 'šek' tlačítko pro potvrzení změn:

Na 'DOSTAT' rozhraní metody, zadejte název funkce Lambda, kterou jsme vytvořili dříve, a proveďte následující konfigurace. Po tom hit 'Uložit' tlačítko pro potvrzení změn:

Po kliknutí na 'Uložit' tlačítko, zobrazí se následující dialogové okno. Klikněte na 'OK' knoflík:

Podobně vytvořte ještě jednu metodu provedením podobných kroků, jako jsme postupovali u první metody. Uživatelé mohou vytvořit více metod v rámci API na základě svých požadavků. Po konfiguraci všech metod klikněte na 'Akce' kartu a vyberte 'Deploy API' volba:

Zobrazí se následující dialogové okno. V 'Fáze nasazení' uveďte podrobnosti. Dále přichází na řadu 'Pseudonym' pole pro zadání názvu scény. Klikněte na 'Nasadit' knoflík:

The API byl úspěšně vytvořena :

Posunout dolů rozhraní a klikněte na 'Uložit změny' knoflík:

Krok 3: Vytvořte S3 Bucket

V tomto kroku vytvoříme kbelík pro uložení kódu. Tento kód bude spojen s funkcí Lambda a API bude použito k načtení atributů nakonfigurovaných uvnitř kódu.

Chcete-li vytvořit segment S3, vyhledejte 'S3' služby ve vyhledávací liště Konzole pro správu AWS. Klepněte na název služby ze zobrazených výsledků:

Na konzole S3 klikněte na 'Vytvořit kbelík' možnost zahájit proces:

V Obecná konfigurace poskytněte globálně jedinečný identifikátor pro segment v zvýrazněné textové pole :

Dodržením nastavení tak jako výchozí , klikněte na 'Vytvořit kbelík' tlačítko ve spodní části rozhraní:

Tím se vytvoří kbelík. Nyní, abychom nahráli kód do bucketu S3, poskytli jsme a jednoduchý kód Node JS v GitHub úložiště. Stáhněte si kód v Formát zip :

Po stažení zip soubor , jít do Přístrojová deska S3 a vyberte kbelík. Na dalším rozhraní klikněte na 'Nahrát' tlačítko a nahrát a zip soubor do kýble:

Další informace: Jak nahrát objekty ve službě Amazon Simple Storage Service?

Klepněte na 'Přidat soubory' tlačítko umístěné na pravé straně rozhraní, sousedící s 'Přidat složku' knoflík. Po přidání zip soubor do kbelíku, udeř do 'Nahrát' tlačítko ve spodní části rozhraní:

The soubor byl úspěšně nahráno :

Po nahrávání soubor do kbelíku, klikněte na Objekt pro zobrazení vlastností:

Klikněte na 'Kopírovat S3 URI' knoflík. Toto bude přidáno k funkci Lambda:

Přejít na Přístrojová deska Lambda a vyberte funkci Lambda:

Přejděte dolů na 'Kód' a klepněte na 'Nahrát z' knoflík. z rozbalovací nabídka, klikněte na “Umístění Amazon S3” volba:

Vložte 'URI S3' v zobrazeném dialogovém okně a klepněte na 'Uložit' knoflík:

Na Rozhraní funkce lambda , přejděte dolů na 'Nastavení runtime' a klikněte na 'Upravit' knoflík:

V 'Psovod' pole, upravte následující konfigurace. The 'nodeapi' je název složky nahraný do bucketu S3 a index.js je vstupní bod. Poté klikněte na 'Uložit' knoflík:

Krok 4: Ověření

Přejít na API brána servisní konzole a klikněte na 'API' název:

Po výběru API klikněte na 'Fáze' na postranním panelu a poté klikněte na fázi nasazení, např. první fáze:

Zkopírujte URL a spusťte Listonoš nástroj na místním počítači:

Vytvořit požadavek GET v Listonoš a vložte do něj adresu URL. Po kliknutí na 'Poslat' tlačítko, získáme následující výsledky:

To je z tohoto průvodce vše.

Závěr

Chcete-li nasadit Node.js API s bránou API, nahrajte kód do segmentu S3, přidejte jej jako obslužnou rutinu a bránu API jako spouštěč do funkce Lambda. Požadavek iniciovaný pomocí Postmana bude doručen funkci Lambda prostřednictvím API. Pro vytvoření API použijte službu API brány AWS. Kbelík S3, který byl přidán jako handler do funkce Lambda, poskytne kód pro zpracování požadavku. Výstup se zobrazí na konzole pošťáka. Tento článek je podrobný návod pro implementaci Node.js API s bránou AWS API.