Az Amazon API Gateway bemutatása az AWS Lambda használatával

Az Amazon API Gateway bemutatása az AWS Lambda használatával

Forrás csomópont: 1860150

Bevezetés

Mi az API?

Egyszerűen fogalmazva, az API egy üzenetküldő; értsük meg ezt néhány példával. Tegyük fel, hogy éhes vagy, és otthon kell főzned valamit. Ha tésztát szeretne készíteni, csak vegye ki a hozzávalókat a szekrényből, gyújtsa fel a tűzhelyet, és készítse el maga. Ez egy olyan program, amely önállóan csinál valamit a saját erőforrásaival. De mondjuk, hogy pizzát szeretne – nincsenek meg a hozzávalók, és az otthoni sütője nem igazán alkalmas egy szép ropogós kéreg elkészítésére. Tehát inkább menj el egy pizzázóba. De az otthontól eltérően nem lehet egyszerűen csak kimenni a konyhába, és elkezdeni a hozzávalóikat pizza készítéséhez. Nem akarják, hogy a piszkos kezed a cuccaikon legyen! Szóval mit fogsz csinálni? A pulthoz kell menni és megrendelni – lesz egy menü, amely felsorolja, hogy milyen pizzákat rendelhet, és milyen feltéteket vagy egyéb lehetőségeket választhat. Ez egy API.

Az alkalmazásprogramozási felület (API) egy olyan szabálykészlet, amely meghatározza, hogy két szoftvernek hogyan kell együttműködnie.

Az API lehetővé teszi, hogy egy szoftver hozzáférjen egy másik szoftver program funkcióihoz. Például, ha van egy szoftverprogramja, amelynek adatokat kell lekérnie az internetről, akkor az API segítségével lekérheti ezeket az adatokat a szervertől. A szerver ezután válaszol a kért adatokkal, és a szoftver szükség szerint használhatja azokat.

Az API-k lehetővé teszik a különböző szoftverprogramok számára, hogy kommunikáljanak egymással, és megosszák az adatokat és a funkciókat. A modern szoftverfejlesztés fontos részét képezik, mivel lehetővé teszik a különböző rendszerek együttműködését, és lehetővé teszik összetettebb és erősebb szoftveralkalmazások létrehozását.

HTTP API-k

A HTTP API egy olyan API-típus, amely a HTTP protokollt használja az adatok küldésére és fogadására. Lehetővé teszi a szoftverprogramok számára, hogy HTTP-kérések és válaszok használatával adatokat küldjenek és fogadjanak. Ezek a kérések és válaszok különböző formátumokban lehetnek, például egyszerű szöveg, JSON vagy XML. Általában számos alkalmazásban használják őket, beleértve a webalkalmazásokat, a mobilalkalmazásokat és a mikroszolgáltatásokat. Ezek az API-k viszonylag olcsóbbak, mint a REST API-k, és kevesebb funkciójuk van, mint a későbbiek.

REST API-k

A REST API egy API-típus, amely a REST-nek (Representational State Transfer) nevezett építészeti alapelveket követi. A REST a szoftverarchitektúra egy stílusa, amely megszorításokat határoz meg a webes API-k létrehozásához.

Állapotalapú API-k

Az állapotalapú API egy olyan API, amely minden ügyfélkérelemről információkat tárol, és ezeket az információkat a későbbi kérések feldolgozásához használja. Ez azt jelenti, hogy az API az egyes kérések adatait, például a kérés paramétereit tárolja egy szerveroldali munkamenetben. Ezeket az adatokat azután ugyanazon ügyféltől érkező további kérések feldolgozására használják fel.

Állapot nélküli API-k

Az állapot nélküli API viszont nem tárol információkat az ügyfelek kéréseiről. Minden kérést önállóan dolgoz fel, anélkül, hogy adatokat tárolna a korábbi kérésekről. Ez azt jelenti, hogy az API nem tart fenn szerveroldali munkamenetet, és nem használja fel a korábbi kérések adatait a következő kérések feldolgozására.

Főbb különbségek az állapotalapú és az állapot nélküli API-k között

Az alábbiakban bemutatunk néhány fő különbséget az állapottartó és az állapot nélküli API-k között:

ÁLLAPOTÚ API-k

ÁLLAPOTLAN API-k

1. Kérjen kiszolgálóoldali munkamenetet az ügyfélkérések adatainak tárolásához 1. Ne igényeljen szerveroldali munkamenetet az ügyfélkérések adatainak tárolásához
2. Ezek néha lassabbak, mint az állapot nélküli API-k, mivel adatokat igényelnek és tárolnak, ami időbe telik. 2. Az állapot nélküli API-k gyorsabbak, mert nem igényelnek és nem tárolnak adatokat a kérésekről.
3. Az állapotalapú API-kat nem könnyű skálázni  3. Könnyebb a méretezhetőség, mivel nincs szükségük a korábbi kérések adatainak karbantartására.
4. Általában kevésbé biztonságosnak tartják, mint az állapot nélküli API-kat 4. Ezeket általában biztonságosabbnak tartják.

Mi az Amazon API Gateway?

Az Amazon API Gateway egy AWS-szolgáltatás, amely állapottartó (websocket) és állapot nélküli (HTTP és REST) ​​API-k létrehozására, karbantartására és figyelésére szolgál. Ezekkel az API-kkal érhetjük el:

  1. Bármilyen AWS szolgáltatás
  2. Az AWS felhőben tárolt adatok (például egy S3 vödör)
  3. Bármilyen más webszolgáltatás.

Ha Ön API-fejlesztő, könnyen elkészítheti API-it külső fejlesztők számára is.

Az AWS API-átjárónak főleg kétféle felhasználója van.

  1. i) API-fejlesztők, akik API-t hoznak létre és telepítenek az API-átjáró szükséges funkcióinak engedélyezéséhez
  2. ii) Alkalmazásfejlesztők, akik az API-fejlesztő ügyfelei.

Amazon API átjáró architektúra

építészet

Ez az architektúra szemlélteti, hogyan lehet kiszolgáló nélküli alkalmazásokat készíteni következetes és integrált fejlesztői tapasztalattal. A végfelhasználóktól az adatközpontokig az API Gateway kezeli az összes kapcsolódó feladatot, mint például több ezer párhuzamos hívás fogadása és feldolgozása, forgalomkezelés, engedélyezés, figyelés, hozzáférés-vezérlés stb.

Amazon API átjáró funkciói

  1. Támogatja mind az állapottartó, mind az állapot nélküli API-kat. (Példák: Websocket, HTTP és REST).
  2. A hatékony hitelesítési mechanizmusok közé tartozik az AWS Identity, a Access Management Policies és a Lambda jogosultság.
  3. Fejlesztői portál, ahol az API-fejlesztők közzétehetik API-jaikat.
  4. Végrehajtási és hozzáférési naplózás a CloudWatch számára, beleértve a riasztások beállításának lehetőségét.
  5. Integráció más AWS-szolgáltatásokkal, mint pl AWS Lambda és AWS Kinesis.
  6. Az AWS WAF-fel való integráció a webes kihasználások elleni védelemre szolgál, az AWS X-Ray pedig a teljesítmény késések megértésére és kiemelésére szolgál.

Az Amazon API Gateway használatának első lépései

Most egy szerver nélküli API-t fogunk létrehozni. Egy szerver nélküli API-ban a szerverek kezelésével tölthetünk időt az alkalmazásainkra. Ez így működik:

  • Az API-t az ügyfél hívja meg
  • Az API kérést küld a lambdának
  • A Lambda végrehajtja a lambda függvényt, és az eredményt visszaküldi az API-nak
  • Miután megkapta az eredményt a lambdától, az API válaszol az ügyfélnek

http api

1. lépés – Hozzon létre egy lambda függvényt

A Lambda függvényt az API-nk hátterében használjuk. A Lambda csak akkor futtatja le a kódot, ha szükséges. Automatikusan skálázódik napi néhány kérésről másodpercenként ezer kérésre.

lambada függvény létrehozása

Lambda függvény létrehozása:

1) Nyissa meg a lambda konzolt a https://console.aws.amazon.com/lambda címen.

2) Kattintson a Funkció létrehozása gombra.

3) Írja be a „my-function” nevet a függvény neveként.

4) Válassza ki a Python 3.9-et futtatókörnyezetként.

5) Ehhez a funkcióhoz nem kell semmit módosítanunk az Engedélyek és Speciális beállítások lapon, mivel az alapértelmezett engedélyek elegendőek ehhez a bemutatóhoz.

4) Kattintson a Funkció létrehozása gombra.

2. LÉPÉS – HTTP API létrehozása

Amazon API

A HTTP API HTTP-végpontot biztosít a Lambda függvény számára. Ez így működik:

  • Az ügyfél lekérdezést küld a HTTP API-nak
  • Az API aktiválja a lambdát, amely ezután végrehajtja a lambda függvényt
  • A Lambda elküldi az eredményt az API-nak
  • Az API a kapott válasszal válaszol az ügyfélnek

A HTTP API létrehozásának lépései

1) Keresse fel az API Gateway konzolt a https://console.aws.amazon.com/apigateway címen.

2) Kattintson a Build gombra az első HTTP API létrehozásához

3) Kattintson az Integráció hozzáadása elemre az integrációhoz

4) Válassza a Lambdát.

5) Adja meg a lambda függvényt my-function.

6) Az API névhez írja be: my-http-api.

7) Kattintson a Tovább gombra.

8) Tekintse át az Ön számára létrehozott útvonalat, majd válassza a Tovább lehetőséget.

9) Tekintse át az Ön számára létrehozott szakaszt, majd kattintson a Tovább gombra.

10) Kattintson a Létrehozás gombra.

3. LÉPÉS Tesztelje az API-t –

Ezután tesztelnünk kell az API-nkat, hogy megbizonyosodjunk arról, hogy működik. Ehhez egy webböngészőt fogunk használni az API-nk meghívásához.

Amazon API

Az API teszteléséhez

  1. Nyissa meg az API Gateway konzolt a https://console.aws.amazon.com/apigateway címen.
  2. Válassza ki az API-t.
  3. Jegyezze fel API meghívó URL-jét. (lásd a fenti képet)
  4. Másolja ki az API meghívó URL-jét, és illessze be egy webböngészőbe. Csatlakoztassa a meghívó URL-t és a lambda-függvény nevét a lambda-függvény meghívásához. Az API Gateway konzol alapértelmezés szerint útvonalat hoz létre a Lambda-függvény „my-function” nevével. 

    A teljes URL-nek így kell kinéznie: https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function. Amikor betölti ezt az URL-t, a böngészője GET kérést küld az API-nak.

  1. Látnia kell a „Hello from Lambda!” szöveget. a böngészőjében. Így az API válasza ellenőrizve van.

Amazon API

Következtetés

Létrehoztuk első HTTP API-nkat az Amazon API Gateway és az AWS Lambda segítségével. Ezen túlmenően többféle felhasználási esetet is megvizsgálhatunk, és ehhez hasonlóan létrehozhatunk REST API-t is, amely több funkciót biztosít.

Tetszett ez a cikk? Mondja el nekünk gondolatait az alábbi megjegyzésben. Ne felejtse el megemlíteni, hogy melyik cikket szeretné legközelebb elolvasni.

Időbélyeg:

Még több Analytics Vidhya