Uvod v Amazon API Gateway z uporabo AWS Lambda

Uvod v Amazon API Gateway z uporabo AWS Lambda

Izvorno vozlišče: 1860150

Predstavitev

Kaj je API?

Preprosto povedano, API je messenger; razumejmo to z nekaj primeri. Recimo, da ste lačni in morate nekaj skuhati doma. Če hočeš narediti rezance, samo vzameš sestavine iz omare, zakuriš štedilnik in narediš sam. To je program, ki dela nekaj sam z lastnimi viri. Toda recimo, da želite pico – nimate sestavin, vaša domača pečica pa ni ravno primerna za pripravo prijetne hrustljave skorjice. Zato pojdite raje v picerijo. Toda za razliko od doma ne morete kar tako iti v kuhinjo in začeti uporabljati njihovih sestavin za pripravo pice. Nočejo vaših umazanih rok po svojih stvareh! Kaj boš naredil? Morate iti do pulta in narediti naročilo – tam bo meni s seznamom, katere pice lahko naročite in katere dodatke ali druge možnosti lahko izberete. To je API.

Programski vmesnik aplikacije (API) je nabor pravil, ki določajo, kako naj medsebojno delujeta dva programska programa.

API omogoča enemu programu dostop do funkcionalnosti drugega programa. Na primer, če imate programsko opremo, ki mora pridobiti podatke iz interneta, lahko uporabi API, da te podatke zahteva od strežnika. Strežnik se bo nato odzval z zahtevanimi podatki in programska oprema jih bo lahko uporabila po potrebi.

API-ji se uporabljajo za omogočanje medsebojne komunikacije različnih programov ter izmenjavo podatkov in funkcionalnosti. So pomemben del sodobnega razvoja programske opreme, saj omogočajo medsebojno delovanje različnih sistemov in ustvarjanje kompleksnejših in zmogljivejših programskih aplikacij.

API-ji HTTP

HTTP API je vrsta API-ja, ki uporablja protokol HTTP za pošiljanje in prejemanje podatkov. Programom omogoča pošiljanje in prejemanje podatkov z uporabo zahtev in odgovorov HTTP. Te zahteve in odgovori so lahko v različnih formatih, kot je navadno besedilo, JSON ali XML. Običajno se uporabljajo v številnih aplikacijah, vključno s spletnimi aplikacijami, mobilnimi aplikacijami in mikro storitvami. Ti API-ji so razmeroma cenejši od API-jev REST in imajo manj funkcij kot novejši.

API-ji REST

REST API je vrsta API-ja, ki sledi nizu arhitekturnih načel, imenovanih REST (Representational State Transfer). REST je slog arhitekture programske opreme, ki določa nabor omejitev za ustvarjanje spletnih API-jev.

Stalni API-ji

Stateful API je API, ki vzdržuje informacije o vsaki zahtevi odjemalca in uporablja te informacije za obdelavo naslednjih zahtev. To pomeni, da API shrani podatke o vsaki zahtevi, kot so parametri zahteve, v seji na strani strežnika. Ti podatki se nato uporabijo za obdelavo naslednjih zahtev istega odjemalca.

API-ji brez stanja

API brez stanja pa na drugi strani ne vzdržuje informacij o zahtevah strank. Vsako zahtevo obdela neodvisno, brez shranjevanja podatkov o prejšnjih zahtevah. To pomeni, da API ne vzdržuje seje na strani strežnika in ne uporablja podatkov iz prejšnjih zahtev za obdelavo naslednjih zahtev.

Ključne razlike med API-ji Stateful in Stateless API-ji

Spodaj je nekaj ključnih razlik med API-ji brez stanja in API-ji brez stanja:

API-ji STATEFUL

API-ji brez državljanstva

1. Zahtevajte sejo na strani strežnika za shranjevanje podatkov o zahtevah odjemalcev 1. Ne zahtevajte seje na strani strežnika za shranjevanje podatkov o zahtevah strank
2. Ti so lahko včasih počasnejši od API-jev Stateless, ker zahtevajo in shranjujejo podatke, kar zahteva čas. 2. API-ji brez stanja so hitrejši, ker ne zahtevajo in shranjujejo podatkov o zahtevah.
3. Stateful API-jev ni enostavno prilagoditi  3. Lažje prilagajanje, saj jim ni treba vzdrževati podatkov o prejšnjih zahtevah.
4. Na splošno velja za manj varnega kot API-ji brez stanja 4. Ti na splošno veljajo za bolj varne.

Kaj je Amazon API Gateway?

Amazon API Gateway je storitev AWS, ki se uporablja za ustvarjanje, vzdrževanje in spremljanje API-jev s stanjem (websocket) in brez stanja (HTTP in REST). Te API-je lahko uporabimo za dostop do:

  1. Katera koli storitev AWS
  2. Podatki, shranjeni v oblaku AWS (kot je vedro S3)
  3. Vse druge spletne storitve.

Če ste razvijalec API-jev, lahko preprosto ustvarite svoje API-je tudi za razvijalce tretjih oseb.

Obstajata predvsem dve vrsti uporabnikov AWS API Gateway.

  1. i) Razvijalci API-jev, ki ustvarijo in uvedejo API, da omogočijo zahtevano funkcionalnost v API Gateway
  2. ii) Razvijalci aplikacij, ki so stranke razvijalca API-ja.

Arhitektura prehoda Amazon API

Arhitektura

Ta arhitektura ponazarja, kako je mogoče zgraditi brezstrežniške aplikacije z dosledno in integrirano izkušnjo razvijalcev. Od končnih uporabnikov do podatkovnih centrov API Gateway obravnava vse vključene naloge, kot so sprejemanje in obdelava na tisoče sočasnih klicev, upravljanje prometa, avtorizacija, spremljanje, nadzor dostopa itd.

Funkcije Amazon API Gateway

  1. Podpira API-je s stanjem in brez stanja. (Primeri: Websocket, HTTP in REST).
  2. Zmogljivi mehanizmi za preverjanje pristnosti vključujejo AWS Identity, Access Management Policies in Lambda avtorizator.
  3. Portal za razvijalce, kjer lahko razvijalci API-jev objavijo svoje API-je.
  4. Beleženje izvajanja in dostopa za CloudWatch, vključno z možnostjo nastavitve alarmov.
  5. Integracija z drugimi storitvami AWS, kot je npr AWS Lambda in AWS Kinesis.
  6. Integracija z AWS WAF se uporablja za zaščito pred spletnimi zlorabami, AWS X-Ray pa se uporablja za razumevanje in poudarjanje zakasnitev delovanja.

Kako začeti uporabljati Amazon API Gateway

Zdaj bomo ustvarili API brez strežnika. V brezstrežniškem API-ju se lahko osredotočimo na svoje aplikacije, namesto da porabimo čas za upravljanje strežnikov. Deluje takole:

  • API prikliče odjemalec
  • API pošlje zahtevo lambdi
  • Lambda izvede funkcijo lambda in pošlje rezultat nazaj v API
  • Po prejemu rezultata od lambda se API odzove odjemalcu

http api

1. korak – Ustvarite lambda funkcijo

Funkcija Lambda se uporablja za zaledje našega API-ja. Lambda zažene kodo le, ko je potrebna. Prav tako se samodejno spreminja od nekaj zahtev na dan do tisoč zahtev vsako sekundo.

ustvarite funkcijo lambada

Ustvarjanje lambda funkcije:

1) Pojdite na konzolo lambda na https://console.aws.amazon.com/lambda

2) Kliknite Ustvari funkcijo.

3) Vnesite "my-function" kot ime funkcije.

4) Izberite Python 3.9 kot izvajalno okolje.

5) Za to funkcijo nam ne bo treba ničesar spreminjati na zavihku Dovoljenja in napredne nastavitve, saj za to predstavitev zadostujejo privzeta dovoljenja.

4) Kliknite Ustvari funkcijo.

2. KORAK – Ustvarjanje API-ja HTTP

Amazon API

HTTP API zagotavlja končno točko HTTP za vašo funkcijo Lambda. Deluje takole:

  • Odjemalec pošlje poizvedbo HTTP API-ju
  • API sproži lambda, ki nato izvede funkcijo lambda
  • Lambda pošlje rezultat v API
  • API odjemalcu odgovori s prejetim odgovorom

Koraki za ustvarjanje API-ja HTTP

1) Obiščite konzolo API Gateway na https://console.aws.amazon.com/apigateway

2) Kliknite Zgradi, da ustvarite svoj prvi HTTP API

3) Za integracijo kliknite Dodaj integracijo

4) Izberite Lambda.

5) Vnesite svojo lambda funkcijo my-function.

6) Za ime API-ja vnesite my-http-api.

7) Kliknite Naprej.

8) Preglejte pot, ki je bila ustvarjena za vas, in nato izberite Naprej.

9) Preglejte stopnjo, ki je bila ustvarjena za vas, in nato izberite Naprej.

10) Kliknite Ustvari.

3. KORAK Preizkusite svoj API –

Nato moramo preizkusiti naš API, da se prepričamo, da deluje. Za to bomo uporabili spletni brskalnik za priklic našega API-ja.

Amazon API

Za testiranje našega API-ja

  1. Pojdite na konzolo API Gateway na https://console.aws.amazon.com/apigateway
  2. Izberite svoj API.
  3. Zabeležite si priklicni URL vašega API-ja. (glej sliko zgoraj)
  4. Kopirajte priklicni URL svojega API-ja in ga prilepite v spletni brskalnik. Združite priklicni URL in ime vaše lambda funkcije, da pokličete svojo lambda funkcijo. Konzola API Gateway ustvari pot s privzetim imenom vaše funkcije Lambda »my-function«. 

    Celoten URL bi moral izgledati takole: https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function. Ko naložite ta URL, vaš brskalnik API-ju pošlje zahtevo GET

  1. Morali bi videti besedilo »Pozdrav iz Lambde!« v vašem brskalniku. Zato je odgovor vašega API-ja preverjen.

Amazon API

zaključek

Naš prvi HTTP API smo ustvarili z uporabo Amazon API Gateway in AWS Lambda. Nadalje lahko raziskujemo različne primere uporabe istega in podobno lahko ustvarimo tudi REST API, ki zagotavlja več funkcionalnosti.

Vam je bil ta članek všeč? Povejte nam svoje misli v komentarju spodaj. Prav tako ne pozabite omeniti, kateri članek bi radi prebrali naslednjič.

Časovni žig:

Več od Analitika Vidhya