Introducere în Amazon API Gateway folosind AWS Lambda

Introducere în Amazon API Gateway folosind AWS Lambda

Nodul sursă: 1860150

Introducere

Ce este un API?

În termeni simpli, API este un mesager; hai sa intelegem asta cu cateva exemple. Să presupunem că ți-e foame și trebuie să gătești ceva acasă. Dacă vrei să faci tăiței, trebuie doar să scoți ingredientele din dulap, să aprinzi aragazul și să-l faci singur. Acesta este un program care face ceva pe cont propriu cu propriile sale resurse. Dar să spunem că vrei pizza – nu ai ingredientele, iar cuptorul tău de acasă nu este chiar atât de potrivit pentru a face o crustă crocantă drăguță. Deci mergi la o pizzerie. Dar, spre deosebire de acasă, nu poți să intri în bucătărie și să începi să folosești ingredientele lor pentru a face o pizza. Ei nu vor mâinile tale murdare peste toate lucrurile lor! Deci ce vei face? Trebuie să mergeți la ghișeu și să faceți o comandă – va exista un meniu care va enumera ce pizza puteți comanda și ce toppinguri sau alte opțiuni puteți alege. Acesta este un API.

O interfață de programare a aplicației (API) este un set de reguli care specifică modul în care două programe software ar trebui să interacționeze.

Un API permite unui program software să acceseze funcționalitatea altui program software. De exemplu, dacă aveți un program software care trebuie să recupereze date de pe internet, acesta poate folosi un API pentru a solicita acele date de la un server. Serverul va răspunde apoi cu datele solicitate, iar programul software le poate folosi după cum este necesar.

API-urile sunt folosite pentru a permite diferitelor programe software să comunice între ele și să partajeze date și funcționalități. Ele reprezintă o parte importantă a dezvoltării software moderne, deoarece permit diferitelor sisteme să lucreze împreună și permit crearea de aplicații software mai complexe și mai puternice.

API-uri HTTP

HTTP API este un tip de API care utilizează protocolul HTTP pentru trimiterea și primirea datelor. Permite programelor software să trimită și să primească date folosind cereri și răspunsuri HTTP. Aceste solicitări și răspunsuri pot fi în diferite formate, cum ar fi text simplu, JSON sau XML. Sunt utilizate în mod obișnuit într-o gamă largă de aplicații, inclusiv aplicații web, aplicații mobile și microservicii. Aceste API-uri sunt relativ mai ieftine decât API-urile REST și au mai puține funcționalități decât cele mai recente.

REST API-uri

REST API este un tip de API care urmează un set de principii arhitecturale numite REST (Representational State Transfer). REST este un stil de arhitectură software care definește un set de constrângeri pentru crearea API-urilor web.

API-uri cu stat

Un API cu stare este un API care menține informații despre fiecare solicitare a clientului și utilizează aceste informații pentru a procesa solicitările ulterioare. Aceasta înseamnă că API-ul stochează date despre fiecare cerere, cum ar fi parametrii solicitării, într-o sesiune de pe partea serverului. Aceste date sunt apoi folosite pentru a procesa cererile ulterioare de la același client.

API-uri fără stat

Un API fără stat, pe de altă parte, nu menține informații despre solicitările clienților. Procesează fiecare cerere în mod independent, fără a stoca date despre solicitările anterioare. Aceasta înseamnă că API-ul nu menține o sesiune pe partea serverului și nu utilizează datele din solicitările anterioare pentru a procesa cererile ulterioare.

Diferențele cheie între API-urile Stateful și Stateless

Mai jos sunt câteva diferențe cheie între API-urile stateful și stateless:

API-uri STATEFUL

API-uri fără apatridă

1. Solicitați o sesiune pe partea serverului pentru a stoca date despre solicitările clientului 1. Nu necesită o sesiune pe partea serverului pentru a stoca date despre solicitările clientului
2. Acestea pot fi uneori mai lente decât API-urile Stateless, deoarece necesită și stochează date, ceea ce necesită timp. 2. API-urile fără stat sunt mai rapide, deoarece acestea nu necesită și stochează date despre solicitări.
3. API-urile stateful nu sunt ușor de scalat  3. Mai ușor de scalat, deoarece nu au nevoie să păstreze date despre solicitările anterioare.
4. În general, considerate mai puțin sigure decât API-urile Stateless 4. Acestea sunt în general considerate mai sigure.

Ce este Amazon API Gateway?

Amazon API Gateway este un serviciu AWS care este utilizat pentru a crea, întreține și monitoriza atât API-uri cu stare (websocket) cât și fără stat (HTTP și REST). Putem folosi aceste API-uri pentru a accesa:

  1. Orice serviciu AWS
  2. Datele stocate în cloud AWS (cum ar fi o găleată S3)
  3. Orice alte servicii web.

Dacă sunteți un dezvoltator de API, puteți face cu ușurință API-urile și pentru dezvoltatori terți.

Există în principal două tipuri de utilizatori ai AWS API Gateway.

  1. i) Dezvoltatori API care creează și implementează un API pentru a activa funcționalitatea necesară în API Gateway
  2. ii) Dezvoltatorii de aplicații care sunt clienți ai dezvoltatorului API.

Arhitectura Amazon API Gateway

arhitectură

Această arhitectură ilustrează modul în care aplicațiile fără server pot fi construite cu experiență de dezvoltator consecventă și integrată. De la utilizatori finali până la centre de date, API Gateway se ocupă de toate sarcinile implicate, cum ar fi acceptarea și procesarea a mii de apeluri simultane, gestionarea traficului, autorizarea, monitorizarea, controlul accesului etc.

Caracteristici Amazon API Gateway

  1. Acceptă atât API-uri stateful, cât și stateless. (Exemple: Websocket, HTTP și REST).
  2. Mecanismele puternice de autentificare includ AWS Identity, Politici de gestionare a accesului și autorizator Lambda.
  3. Portal pentru dezvoltatori unde dezvoltatorii de API-uri își pot publica API-urile.
  4. Jurnalul de execuție și acces pentru CloudWatch, inclusiv opțiunea de a seta alarme.
  5. Integrare cu alte servicii AWS, cum ar fi AWS Lambdas și AWS Kinesis.
  6. Integrarea cu AWS WAF este utilizată pentru protecția împotriva exploatărilor web, iar AWS X-Ray este utilizat pentru a înțelege și a sublinia latențele de performanță.

Noțiuni introductive cu Amazon API Gateway

Acum vom crea un API fără server. Într-un API fără server, ne putem concentra pe aplicațiile noastre în loc să petrecem timp gestionând servere. Funcționează așa:

  • API-ul este invocat de client
  • API trimite cererea către lambda
  • Lambda execută funcția lambda și trimite rezultatul înapoi la API
  • După ce primește rezultatul de la lambda, API răspunde clientului

http api

Pasul 1 - Creați o funcție lambda

Funcția Lambda este utilizată pentru backend-ul API-ului nostru. Lambda rulează codul numai atunci când este necesar. De asemenea, scala automat de la câteva solicitări pe zi la o mie de solicitări în fiecare secundă.

creați funcția lambada

Crearea unei funcții lambda:

1) Accesați consola lambda la https://console.aws.amazon.com/lambda

2) Faceți clic pe Creare funcție.

3) Introduceți „funcția mea” ca nume al funcției.

4) Alegeți Python 3.9 ca timp de rulare.

5) Pentru această funcție nu va trebui să schimbăm nimic în fila Permisiuni și Setări avansate, deoarece permisiunile implicite sunt suficiente pentru această demonstrație.

4) Faceți clic pe Creare funcție.

PASUL 2 – Crearea unui API HTTP

API-ul Amazon

API-ul HTTP oferă un punct final HTTP pentru funcția dvs. Lambda. Funcționează așa:

  • Clientul trimite o interogare către API-ul HTTP
  • API-ul declanșează lambda care apoi execută funcția lambda
  • Lambda trimite rezultatul către API
  • API răspunde clientului cu răspunsul primit

Pași pentru a crea un API HTTP

1) Vizitați consola API Gateway la https://console.aws.amazon.com/apigateway

2) Faceți clic pe Build pentru a crea primul API HTTP

3) Faceți clic pe Adăugați integrare pentru integrare

4) Selectați Lambda.

5) Introduceți funcția lambda my-function.

6) Pentru numele API, introduceți my-http-api.

7) Faceți clic pe Următorul.

8) Examinați traseul creat pentru dvs., apoi alegeți Următorul.

9) Examinați etapa creată pentru dvs., apoi alegeți Următorul.

10) Faceți clic pe Creare.

PASUL 3 Testează-ți API-ul –

În continuare, trebuie să testăm API-ul nostru pentru a ne asigura că funcționează. Pentru aceasta vom folosi un browser web pentru a invoca API-ul nostru.

API-ul Amazon

Pentru a testa API-ul nostru

  1. Accesați consola API Gateway la https://console.aws.amazon.com/apigateway
  2. Selectați API-ul dvs.
  3. Notați adresa URL de invocare a API-ului dvs. (vezi imaginea de mai sus)
  4. Copiați adresa URL de invocare a API-ului și inserați-o într-un browser web. Alăturați-vă URL-ul de invocare și numele funcției dvs. lambda pentru a apela funcția dvs. Lambda. Consola API Gateway creează o rută folosind numele funcției Lambda „funcția mea” în mod implicit. 

    Adresa URL completă ar trebui să arate ca https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function. Când încărcați această adresă URL, browserul dvs. trimite o solicitare GET către API

  1. Ar trebui să vedeți textul „Salut de la Lambda!” în browserul dvs. Prin urmare, răspunsul API-ului dvs. este verificat.

API-ul Amazon

Concluzie

Am creat primul nostru API HTTP folosind Amazon API Gateway și AWS Lambda. În plus, putem explora diverse cazuri de utilizare ale aceluiași și, în mod similar, putem crea și API-ul REST, care oferă mai multe funcționalități.

Ți-a plăcut acest articol? Spune-ne gândurile tale în comentariul de mai jos. De asemenea, nu uitați să menționați ce articol doriți să citiți în continuare.

Timestamp-ul:

Mai mult de la Analize Vidhya