Jak wdrożyć bezserwerowe API Node.js z bramką AWS API?

Jak Wdrozyc Bezserwerowe Api Node Js Z Bramka Aws Api



AWS to platforma przetwarzania w chmurze z szerokim portfolio usług. Od przechowywania danych po manipulację danymi i analizę danych, usługi te obejmują różne aspekty branży IT. Obecnie AWS obsługuje także kilka języków programistycznych i środowisk wykonawczych. Jednym z najczęstszych przykładów takich usług jest AWS Lambda

AWS Lambda to sterowana zdarzeniami usługa obliczeniowa AWS, która umożliwia użytkownikom wykonywanie kodu bez udostępniania serwerów lub zarządzania nimi. Lambda sprawnie obsługuje całą infrastrukturę obliczeniową i administrację zasobami. Istnieje wiele języków programowania obsługiwanych przez usługę Lambda, np. Go, Ruby, Python itp. Lambda jest również uważana za usługę opłacalną, ponieważ pobiera opłaty jedynie za czas obliczeniowy zużyty przez użytkownika. Nie ma żadnych dodatkowych opłat, gdy kod przekazany funkcji Lambda nie jest w stanie wykonywania.

Czytaj więcej : Pierwsze kroki z AWS Lambda







Szybki zarys



W tym artykule przedstawiono następujące aspekty:



Co to jest struktura bezserwerowa?

Termin „Bez serwera” odnosi się do terminologii, w której dostarczaniem i konserwacją serwerów zarządzają dostawcy oprogramowania stron trzecich lub dostawcy usług w chmurze. Takie struktury pozwalają użytkownikom skupić się na podstawowej logice biznesowej zamiast na utrzymaniu serwerów. Dziś struktury bezserwerowe przyciągnęły uwagę gigantów technologicznych i oferują ogromne korzyści.





Co więcej, jest to również rozwiązanie opłacalne, ponieważ serwery są dostarczane i zarządzane przez dostawców usług. W AWS Lambda jest uważana za usługę bezserwerową, ponieważ do działania wymaga jedynie kodu od użytkownika. Dzięki AWS Lambda użytkownicy mogą łatwo i ekonomicznie budować i skalować aplikacje w różnych środowiskach wykonawczych.

Co to jest interfejs API?

API jest skrótem od 'Interfejs aplikacji do programowania'. Formalne wprowadzenie API obejmuje to, że jest to zestaw definicji i protokołów, które umożliwiają dwóm składnikom oprogramowania lub aplikacji wymianę informacji przydatnych do komunikacji.



Aplikacja API w czasie rzeczywistym odbywa się za pomocą przeglądarki internetowej. Za każdym razem, gdy użytkownik szuka witryny internetowej, żądanie jest dostarczane do serwera, na którym znajduje się witryna. Ta komunikacja między serwerem a przeglądarką odbywa się za pośrednictwem interfejsu API.

Co to jest brama API?

API Gateway to w pełni zarządzana usługa AWS, która przypomina narzędzie do zarządzania API. Korzystając z bramy API, programiści mogą łatwo tworzyć, zarządzać, publikować i skalować różne interfejsy API. Podobnie brama API umożliwia użytkownikom komunikację z innymi mikrousługami działającymi po stronie serwera. Pobiera dane wejściowe od użytkownika, przetwarza je, a następnie kieruje do odpowiednich mikroserwisów. Te mikrousługi będą następnie przetwarzać te dane wejściowe w celu wygenerowania danych wyjściowych.

Jakie są różne typy API w API Gateway?

Brama API zapewnia usługi zarządzania dla trzech różnych typów interfejsów API, jak wspomniano poniżej:

API HTTP: Ten interfejs API jest szeroko stosowany w tworzeniu stron internetowych, co ogranicza się tylko do strony klienta. Takie interfejsy API można sklasyfikować jako prywatne lub publiczne.

Reszta API: Termin REST oznacza „API transferu stanu reprezentacji”. Jest to jedno z najczęściej stosowanych podejść oddzielających frontend i backend aplikacji. Interfejsy API REST mają charakter bezstanowy i są elastyczne w zakresie programowania i wdrażania.

Interfejs API protokołu internetowego: Takie interfejsy API są używane, gdy w grę wchodzi komunikacja poprzez gniazda. WebSocket API umożliwia użytkownikom tworzenie gniazd do dwukierunkowej komunikacji w trybie pełnego dupleksu podczas tworzenia stron internetowych. Te interfejsy API są napisane w języku JavaScript.

Jak wdrożyć bezserwerowy interfejs API Node.js za pomocą bramy API?

Do wdrożenia bezserwerowego API Node.js z API Gateway będziemy używać segmentu S3, funkcji Lambda i bramy API. Wiadro S3 będzie zawierać kod aplikacji. Unikalny identyfikator URI segmentu zostanie dostarczony do funkcji Lambda jako procedury obsługi. Brama API zostanie dodana jako wyzwalacz do funkcji Lambda, która przetworzy dane wejściowe użytkownika i zapewni odpowiednie dane wyjściowe.

Poniżej znajdują się kroki wdrażania bezserwerowego interfejsu API Node.js z bramą API:

Krok 1: Utwórz funkcję Lambda

Aby utworzyć funkcję Lambda, przejdź do pliku 'Lambda' obsługa od Konsola zarządzania AWS :

Ucz się więcej: „Jak utworzyć funkcję lambda w środowisku wykonawczym Pythona” .

W interfejsie funkcji Lambda kliknij przycisk „Utwórz funkcję” przycisk:

W interfejsie Utwórz funkcję wybierz opcję „Autor od zera” opcja:

Następny jest 'Podstawowe informacje' Sekcja. W tej sekcji podaj nazwę funkcji Lambda w pliku „Nazwa funkcji” :

Kliknij na „Utwórz funkcję” przycisk znajdujący się na dole interfejsu:

Tutaj funkcjonować został stworzony z powodzeniem :

Krok 2: Utwórz bramę API

Następnym krokiem jest utworzenie bramki API. W tym celu należy uzyskać dostęp do „Brama API” obsługa od Konsola zarządzania AWS :

Przewiń w dół interfejs API Gateway i kliknij 'Zbudować' opcja z API RESTOWE blok:

Na „Utwórz API” interfejs, wybierać następujące podświetlona opcja . Ponieważ budujemy A Reszta API od podstaw wybraliśmy następujące opcje:

w Ustawienia w tym samym interfejsie, podaj nazwę interfejsu API w pliku „Nazwa interfejsu API” pole tekstowe:

Kliknij na „Utwórz API” przycisk:

Po pomyślnym utworzeniu interfejsu API kliknij przycisk 'Działania' i wybierz następujące podświetlone opcje, aby skonfigurować zasoby i metody API:

Następnie podaj nazwę interfejsu API w pliku 'Nazwa zasobu' pole tekstowe. w Ścieżka zasobów, użytkownicy mogą określić ścieżkę zasobów. Ta określona ścieżka zostanie następnie połączona z oryginalnymi metodami obsługi żądań. Kliknij „Utwórz zasób” przycisk:

Po utworzeniu zasobu kliknij przycisk 'Działania' kartę ponownie i wybierz opcję „Utwórz zasób” metoda definiowania metod i zasobów wewnątrz API:

Podaj nazwę 'Nazwa zasobu' pole i kliknij przycisk „Utwórz zasób” przycisk:

Po skonfigurowaniu zagnieżdżonych zasobów dotknij przycisku 'Działania' przycisk i kliknij przycisk „Utwórz metodę” przycisk z menu rozwijane :

Chcemy przetestować działanie naszego API za pomocą metody POBIERZ prośbę w Node.js. Dlatego w interfejsie metod wybierzemy 'DOSTAWAĆ' wniosek:

Po wybraniu POBIERZ prośbę , Kliknij na 'sprawdzać' przycisk zatwierdzający zmiany:

Na 'DOSTAWAĆ' method, podaj nazwę utworzonej wcześniej funkcji Lambda i dokonaj następujących konfiguracji. Następnie naciśnij 'Ratować' przycisk zatwierdzający zmiany:

Po kliknięciu 'Ratować' przycisku, pojawi się poniższe okno dialogowe. Kliknij 'OK' przycisk:

Podobnie utwórz jeszcze jedną metodę, wykonując podobne kroki, jak w przypadku pierwszej metody. Użytkownicy mogą tworzyć wiele metod w ramach interfejsu API w zależności od swoich wymagań. Po skonfigurowaniu wszystkich metod kliknij przycisk 'Działania' zakładkę i wybierz „Wdróż interfejs API” opcja:

Spowoduje to wyświetlenie następującego okna dialogowego. w „Etap wdrożenia” podaj szczegóły. Następny jest 'Pseudonim artystyczny' pole do podania nazwy etapu. Kliknij na 'Wdrożyć' przycisk:

The API był utworzony pomyślnie :

Przewiń w dół interfejs i kliknij przycisk 'Zapisz zmiany' przycisk:

Krok 3: Utwórz wiadro S3

W tym kroku utworzymy wiadro do przechowywania kodu. Kod ten zostanie powiązany z funkcją Lambda, a API zostanie użyte do pobrania atrybutów skonfigurowanych w kodzie.

Aby utworzyć wiadro S3, przeszukaj plik „S3” usługę w pasku wyszukiwania Konsola zarządzania AWS. Kliknij nazwę usługi z wyświetlonych wyników:

Na konsoli S3 kliknij przycisk „Utwórz wiadro” możliwość rozpoczęcia procesu:

w Konfiguracja ogólna sekcji podaj globalnie unikalny identyfikator segmentu w pliku podświetlone pole tekstowe :

Zachowując ustawienia Jak domyślny , Kliknij na „Utwórz wiadro” przycisk na dole interfejsu:

Spowoduje to utworzenie wiadra. Teraz, aby przesłać kod do segmentu S3, udostępniliśmy plik prosty kod JS węzła W GitHub magazyn. Pobierz kod w pliku Format zip :

Po pobraniu pliku Plik zip , iść do Panel S3 i wybierz wiadro. W następnym interfejsie kliknij przycisk 'Wgrywać' przycisk i wgrywać the Plik zip do wiadra:

Ucz się więcej: Jak przesyłać obiekty do usługi Amazon Simple Storage?

Stuknij w 'Dodaj pliki' przycisk znajdujący się po prawej stronie interfejsu, sąsiadujący z 'Dodaj folder' przycisk. Po dodaniu Plik zip do wiadra, uderz 'Wgrywać' przycisk na dole interfejsu:

The plik był pomyślnie przesłane :

Po przesyłanie plik do zasobnika, kliknij przycisk Obiekt aby wyświetlić właściwości:

Kliknij na „Kopiuj identyfikator URI S3” przycisk. Zostanie to dodane do funkcji Lambda:

Idź do Panel Lambdy i wybierz funkcję Lambda:

Przewiń w dół do 'Kod' sekcję i dotknij „Prześlij z” przycisk. Z menu rozwijane, Kliknij na „Lokalizacja Amazona S3” opcja:

Wklej „URI S3” w wyświetlonym oknie dialogowym i kliknij przycisk 'Ratować' przycisk:

Na Interfejs funkcji Lambda , przewiń w dół do „Ustawienia czasu działania” i kliknij 'Edytować' przycisk:

w 'Treser' wprowadź zmiany w następujących konfiguracjach. The „nodeapi” to nazwa folderu przesłanego do zasobnika S3, a plik Index.js jest punktem wejścia. Następnie kliknij 'Ratować' przycisk:

Krok 4: Weryfikacja

Idź do Brama API konsoli usług i kliknij przycisk „API” nazwa:

Po wybraniu API kliknij przycisk 'Gradacja' na pasku bocznym, a następnie kliknij etap wdrożenia, np. pierwszy etap:

Skopiuj Adres URL i uruchom Listonosz narzędzie na komputerze lokalnym:

Stwórz POBIERZ prośbę w Listonosz i wklej w nim adres URL. Po kliknięciu 'Wysłać' przyciskiem otrzymujemy następujące wyniki:

To wszystko z tego przewodnika.

Wniosek

Aby wdrożyć interfejs API Node.js z bramą API, prześlij kod do segmentu S3, dodaj go jako procedurę obsługi i bramę API jako wyzwalacz funkcji Lambda. Żądanie zainicjowane za pomocą Postmana zostanie dostarczone do Funkcji Lambda poprzez API. Do utworzenia API użyj usługi bramy API AWS. Wiadro S3, które zostało dodane jako moduł obsługi do funkcji Lambda, dostarczy kod do przetworzenia żądania. Wynik zostanie wyświetlony na konsoli Postmana. Ten artykuł stanowi samouczek krok po kroku dotyczący implementowania interfejsu API Node.js za pomocą bramy API AWS.