Как да внедрите безсървърен Node.js API с AWS API Gateway?

Kak Da Vnedrite Bezs Rv Ren Node Js Api S Aws Api Gateway



AWS е платформа за облачни изчисления с огромно портфолио от услуги. От съхранение на данни до манипулиране на данни и анализ на данни, тези услуги покриват различни аспекти на ИТ индустрията. Днес AWS също така поддържа няколко езика за разработка и среди за изпълнение. Един от най-често срещаните примери за такива услуги е AWS Lambda

AWS Lambda е управлявана от събития изчислителна услуга на AWS, която позволява на своите потребители да изпълняват своя код, без да предоставят или управляват сървърите. Lambda ефективно управлява цялата изчислителна инфраструктура и администриране на ресурсите. Има множество езици за разработка, които се поддържат от услугата Lambda, например Go, Ruby, Python и т.н. Lambda също се счита за рентабилна услуга, тъй като начислява такси само за изчислителното време, изразходвано от потребителя. Няма допълнителни такси, когато кодът, предоставен на функцията Lambda, не е в състояние на изпълнение.

Прочетете още : Първи стъпки с AWS Lambda







Бързо очертание



Тази статия илюстрира следните аспекти:



Какво е безсървърна рамка?

Терминът „Без сървър“ се отнася до терминологията, при която предоставянето и поддръжката на сървърите се управляват или от софтуер на трети страни, или от доставчици на облак. Такива рамки позволяват на потребителите да се съсредоточат върху основната бизнес логика, вместо да поддържат сървърите. Днес безсървърните рамки привлякоха вниманието на техническите гиганти и предлагат огромни предимства.





Освен това, това също е рентабилно решение, тъй като сървърите се предоставят и управляват от доставчиците на услуги. В AWS Lambda се счита за услуга без сървър, тъй като изисква само кода от потребителя, за да работи. С AWS Lambda потребителите могат лесно да създават и мащабират приложенията в различни среди за изпълнение по рентабилен начин.

Какво е API?

API е акроним за „Интерфейс за програмиране на приложения“. Официалното въвеждане на API включва, че това е набор от дефиниции и протоколи, които позволяват на двата компонента на софтуера или приложението да обменят полезна информация за комуникация.



Приложението на API в реално време е чрез използване на уеб браузър. Всеки път, когато потребител търси уебсайт, заявката се доставя до сървъра, където се намира уебсайтът. Тази комуникация между сървъра и браузъра се осъществява чрез API.

Какво е API Gateway?

API Gateway е напълно управлявана услуга на AWS, която е подобна на инструмент за управление на API. Чрез използването на API шлюза разработчиците могат лесно да създават, управляват, публикуват и мащабират различни API. По подобен начин шлюзът на API позволява на потребителите да комуникират с другите микроуслуги, работещи от страната на сървъра. Той взема входа от потребителя, обработва го и след това го насочва към подходящите микроуслуги. След това тези микроуслуги ще обработят този вход за генериране на изход.

Какви са различните типове API в API Gateway?

API шлюзът предоставя услуги за управление на три различни типа API, както е споменато по-долу:

HTTP API: Този API се използва широко в уеб разработката, която е ограничена само от страна на клиента. Такива API могат да бъдат класифицирани като частни или публични.

API за почивка: Терминът REST означава „API за прехвърляне на състояние на представяне“. Това е един от най-често използваните подходи, които разделят фронтенда и бекенда на приложението. REST API са без състояние по природа и са гъвкави за разработка и внедряване.

API на WebSocket: Такива API се използват, когато е включена комуникация чрез сокет. WebSocket API позволява на потребителите да създават сокети за двупосочна пълна дуплексна комуникация в уеб разработката. Тези API са написани на JavaScript.

Как да внедрите безсървърен Node.js API с API Gateway?

За внедряването на безсървърен Node.js API с API шлюз ще използваме S3 контейнера, Lambda функция и API шлюз. Кофата S3 ще съдържа кода на приложението. Уникалният URI на кофата ще бъде предоставен на ламбда функцията като манипулатор. API шлюзът ще бъде добавен като тригер към ламбда функцията, която ще обработва входа на потребителя и ще предоставя подходящия изход.

По-долу са стъпките за внедряване на безсървърен Node.js API с API шлюза:

Стъпка 1: Създайте ламбда функция

За да създадете ламбда функция, отворете „Ламба“ услуга от AWS конзола за управление :

Научете повече: „Как да създадете ламбда функция с Python Runtime“ .

В интерфейса на Lambda Function щракнете върху „Създаване на функция“ бутон:

От интерфейса за създаване на функция изберете „Автор от нулата“ опция:

Следва 'Основна информация' раздел. В този раздел дайте името на функцията Lambda в „Име на функция“ :

Кликнете върху „Създаване на функция“ бутон, разположен в долната част на интерфейса:

Ето, функция е създадена успешно :

Стъпка 2: Създайте API Gateway

Следващата стъпка е да създадете API Gateway. За тази цел достъп до „API Gateway“ услуга от AWS конзола за управление :

Превъртете надолу интерфейса на API Gateway и щракнете върху „Изграждане“ опция от REST API блок:

На „Създаване на API“ интерфейс, изберете следното маркирана опция . Докато изграждаме a API за почивка от нулата сме избрали следните опции:

В Настройки раздел на същия интерфейс, посочете името за API в „Име на API“ текстово поле:

Кликнете върху „Създаване на API“ бутон:

След като създадете успешно API, щракнете върху „Действия“ и изберете следните подчертани опции, за да конфигурирате ресурсите и методите на API:

След това въведете името на API в „Име на ресурс“ текстово поле. В Път на ресурса, потребителите могат да определят пътя на ресурсите. След това този указан път ще бъде комбиниран с оригиналните методи за обработка на заявки. Щракнете върху „Създаване на ресурс“ бутон:

След като създадете ресурса, щракнете върху „Действия“ раздел отново и изберете „Създаване на ресурс“ метод за дефиниране на методи и ресурси в API:

Посочете името на „Име на ресурс“ поле и щракнете върху „Създаване на ресурс“ бутон:

След като конфигурирате вложените ресурси, докоснете „Действия“ и щракнете върху „Създаване на метод“ бутон от падащо меню :

Искаме да тестваме работата на нашия API, като използваме GET заявка в Node.js. Следователно в интерфейса на методите ще изберем „ВЗЕМЕТЕ“ заявка:

След като изберете GET заявка , щракнете върху 'чек' бутон за потвърждение на промените:

На „ВЗЕМЕТЕ“ интерфейс на метода, осигурете името на функцията Lambda, която създадохме по-рано, и направете следните конфигурации. След това натиснете „Запазване“ бутон за потвърждение на промените:

След като щракнете върху „Запазване“ ще се появи следният диалогов прозорец. Щракнете върху 'ДОБРЕ' бутон:

По подобен начин създайте още един метод, като следвате стъпки, подобни на тези, които следвахме за първия метод. Потребителите могат да създават множество методи в API въз основа на техните изисквания. След като конфигурирате всички методи, щракнете върху „Действия“ раздела и изберете „Внедряване на API“ опция:

Това ще покаже следния диалогов прозорец. В „Етап на внедряване“ предоставете подробностите. Следва 'Сценично име' поле за посочване на името на сцената. Кликнете върху „Разгръщане“ бутон:

The API е била създаден успешно :

Превърти надолу интерфейса и щракнете върху 'Запазите промените' бутон:

Стъпка 3: Създайте кофата S3

В тази стъпка ще създадем контейнер за съхраняване на кода. Този код ще бъде свързан с функцията Lambda и API ще се използва за извличане на атрибутите, конфигурирани вътре в кода.

За да създадете кофа S3, потърсете в “S3” услуга в лентата за търсене на AWS конзола за управление. Докоснете името на услугата от показаните резултати:

На конзолата S3 щракнете върху „Създаване на кофа“ опция за стартиране на процеса:

В Обща конфигурация раздел, осигурете глобален уникален идентификатор за кофата в подчертано текстово поле :

Чрез запазване на настройки като по подразбиране , щракнете върху „Създаване на кофа“ бутон в долната част на интерфейса:

Това ще създаде кофата. Сега, за да качите кода в кофата S3, предоставихме a прост Node JS код в GitHub хранилище. Изтеглете кода в Zip формат :

След като изтеглите Zip файл , отидете на S3 табло и изберете кофата. На следващия интерфейс щракнете върху „Качване“ бутон и качване на Zip файл към кофата:

Научете повече: Как да качвате обекти в Amazon Simple Storage Service?

Докоснете 'Добавям файлове' бутон, разположен отдясно на интерфейса, в съседство с 'Добави папка' бутон. След добавяне на Zip файл към кофата, удари „Качване“ бутон в долната част на интерфейса:

The файл е била успешно качен :

След качване файла в кофата, щракнете върху Обект за да видите имотите:

Кликнете върху „Копиране на S3 URI“ бутон. Това ще бъде добавено към функцията Lambda:

Отидете на Ламбда табло и изберете функцията Lambda:

Превъртете надолу до „Код“ и докоснете „Качване от“ бутон. От падащо меню, щракнете върху „Местоположение на Amazon S3“ опция:

Поставете „S3 URI“ в показания диалогов прозорец и щракнете върху „Запазване“ бутон:

На Интерфейс на ламбда функция , превъртете надолу до „Настройки за изпълнение“ и щракнете върху 'Редактиране' бутон:

В „Манипулатор“ редактирайте следните конфигурации. The „nodeapi“ е името на папката, качена в кофата S3, а index.js е входната точка. След това щракнете върху „Запазване“ бутон:

Стъпка 4: Проверка

Отидете на API шлюз сервизна конзола и щракнете върху „API“ име:

След като изберете API, щракнете върху „Етапи“ от страничната лента и след това щракнете върху етапа на внедряване, напр. първи етап:

Копирайте URL адрес и стартирайте Пощальон инструмент на локалната машина:

Създавам GET заявка в Пощальон и поставете URL адреса в него. След като щракнете върху „Изпрати“ бутон, получаваме следните резултати:

Това е всичко от това ръководство.

Заключение

За да внедрите Node.js API с API шлюза, качете код в кофата S3, добавете го като манипулатор и API шлюза като тригер към Lambda Function. Заявката, инициирана с помощта на Postman, ще бъде доставена до функцията Lambda чрез API. За създаване на API използвайте услугата API шлюз на AWS. Кофата S3, която беше добавена като манипулатор към функцията Lambda, ще предостави кода за обработка на заявката. Резултатът ще бъде показан на конзолата на Postman. Тази статия е урок стъпка по стъпка за внедряване на Node.js API с AWS API шлюз.