Mi az AWS Lambda? Lambda funkció példákkal
⚡ Okos összefoglaló
Az AWS Lambda egy eseményvezérelt, szerver nélküli számítástechnikai platform a ...-tól. Amazon Webszolgáltatások, amelyek a kódot a triggerek hatására futtatják, automatikusan kezelik a kiépítést, a skálázást és a szerverfelügyeletet, így Önnek csak az üzleti logikára kell koncentrálnia.
Mielőtt belemerülnénk az AWS Lambda megismerésébe, érdemes megérteni, mit jelent a szerver nélküli (kiszolgáló nélküli) megoldás.
Mi az a szerver nélküli?
A „kiszolgáló nélküli” kifejezés általában a kiszolgáló nélküli alkalmazásokra utal. A kiszolgáló nélküli alkalmazások olyan alkalmazások, amelyek nem igényelnek kiszolgáló kiépítését, és nem igénylik a kiszolgálók kezelését.
Mi az AWS Lambda?
Az AWS Lambda egy eseményvezérelt, szerver nélküli számítástechnikai platform, amelyet a Amazon részeként Amazon Webszolgáltatások. Ezért nem kell aggódnod amiatt, hogy mely AWS-erőforrásokat indítsd el, vagy hogyan kezeld őket. Ehelyett a kódot a Lambdára kell helyezned, és az már fut is.
Az AWS Lambda-ban a kód az AWS szolgáltatások eseményeire adott válaszok alapján fut, például fájlok hozzáadása vagy törlése egy S3 vödörben, egy HTTP kérés a következőtől: Amazon API-átjáró és hasonló események. Azonban Amazon A Lambda csak háttérfeladatok végrehajtására használható.
Az AWS Lambda függvény segít a fő termékre és üzleti logikára koncentrálni ahelyett, hogy az operációs rendszer (OS) hozzáférés-vezérlését, az operációs rendszer javítását, a megfelelő méretezést, a kiépítést, a skálázást stb. kellene kezelnie.
Hogyan működik az AWS Lambda?
A következő AWS Lambda példa blokkdiagrammal néhány egyszerű lépésben elmagyarázza az AWS Lambda működését:
Lépés 1: Először töltse fel az AWS Lambda kódját az AWS Lambda által támogatott bármely nyelven. Java, PythonAz AWS Lambda függvény által támogatott nyelvek közé tartozik a , a Go és a C#.
Lépés 2: Ezek olyan AWS-szolgáltatások, amelyek lehetővé teszik az AWS Lambda aktiválását.
Lépés 3: Az AWS Lambda segít feltölteni a kódot és az esemény részleteit, amelyeken aktiválni kell.
Lépés 4: AWS Lambda kódot hajt végre, amikor azt AWS szolgáltatások aktiválják.
Lépés 5: Az AWS csak akkor számít fel díjat, amikor az AWS Lambda kód végrehajtódik, egyébként nem.
Ez a következő forgatókönyvekben fog megtörténni:
- Töltsön fel fájlokat egy S3 vödörbe
- Amikor egy HTTP get/post végpont URL eltalált
- Dynamo DB táblák hozzáadásához, módosításához és törléséhez
- Az adatfolyam-gyűjtés folyamatában
- Azonnali értesítés
- Weboldal hosting
- E-mail küldés
Jegyzet: Ne feledd, hogy az AWS szolgáltatásokért csak akkor kell fizetned, ha az AWS Lambda kód lefut, egyébként nem kell fizetned semmit.
Az AWS Lambdát kiváltó események
Íme azok az események, amelyek az AWS Lambda használatakor aktiválódnak.
- Adatok beszúrása, frissítése és törlése egy Dynamo DB táblában
- Push értesítések felvétele az SNS-be
- Naplóelőzmények kereséséhez a CloudTrailben
- Belépés egy S3 objektumba
- DynamoDB kiválthatja az AWS Lambdát, amikor adatot adnak hozzá, módosítanak vagy törölnek a táblázatban.
- Segít az esemény ütemezésében, hogy a feladat rendszeres időközönként történjen.
- Objektumok módosítása az S3 gyűjtőhelyeken
- Értesítések küldése innen: Amazon SNS.
- Az AWS Lambda használható a CloudTrail naplók feldolgozására.
- Az API Gateway lehetővé teszi az AWS Lambda aktiválását GET/POST metódusokon.
AWS Lambda Concepts
Funkció: A függvény egy program vagy egy parancsfájl, amely az AWS Lambdában fut. A Lambda átadja a meghívási eseményeket a függvénynek, amely feldolgozza az eseményt, és visszaadja a választ.
Futásidők: A futásidejű környezet lehetővé teszi a különböző nyelveken írt függvények futtatását ugyanazon az alap végrehajtási környezetben. Ez segít a függvény konfigurálásában a futásidejű környezetben. Ez a kiválasztott nyelvhez is igazodik. programozási nyelv.
Az esemény forrása: Az eseményforrás egy AWS szolgáltatás, mint pl Amazon Közösségi média, vagy egyéni szolgáltatás. Ez az eseményindító segíti a függvény logikájának végrehajtását.
Lambda rétegek: A lambda rétegek fontos elosztási mechanizmust jelentenek a könyvtárak, az egyéni futási környezetek és más fontos függvényfüggőségek számára. Ez az AWS-összetevő abban is segít, hogy a fejlesztési funkció kódját az általa használt változatlan kódtól és erőforrásoktól elkülönítve kezelje.
Napló folyamok: A Log stream lehetővé teszi a függvénykód egyéni naplózási utasításokkal való annotálását, amelyek segítenek elemezni az AWS Lambda függvények végrehajtási folyamatát és teljesítményét.
Az AWS Lambda használata
Most egy AWS Lambda példával fogjuk megtanulni, hogyan kell használni az AWS Lambda-t:
Step 1) Nyissa meg az AWS Lambdát URL
Tovább https://aws.amazon.com/lambda/ és Kezdés.
Step 2) Hozzon létre egy fiókot
Ezután hozzon létre egy fiókot, vagy jelentkezzen be a meglévő fiókjával.
Step 3) Szerkessze a kódot, és kattintson a Futtatás gombra
A következő Lambda oldalon szerkessze a kódot, és kattintson a Futtatás gombra.
Step 4) Ellenőrizze a kimenetet
Látni fogod a kimenetet.
AWS Lambda VS AWS EC2
Íme néhány fő különbség az AWS Lambda és az EC2.
| paraméterek | AWS Lambda | AWS EC2 |
| Meghatározás | Az AWS Lambda egy platform mint szolgáltatás (PaaS). Segít a háttérkód futtatásában és végrehajtásában. | Az AWS EC2 egy Infrastructure as a Service (IaaS) rendszer, amely virtualizált számítási erőforrásokat biztosít. |
| Rugalmas | Nem kínál rugalmasságot a számítási példányokba való bejelentkezéshez. Lehetővé teszi egy testreszabott operációs rendszer vagy nyelvi futtatókörnyezet kiválasztását. | Rugalmasságot kínál különféle példányok, egyéni operációs rendszerek, biztonsági javítások és hálózatok stb. kiválasztásához. |
| Telepítési folyamat | Ki kell választanod azt a környezetet, ahol a kódot futtatni szeretnéd, és be kell töltened a kódot az AWS Lambda-ba. | Az EC2-ben először ki kell választania az operációs rendszert, telepítenie kell az összes szükséges szoftvert, majd be kell küldenie a kódot az EC2-be. |
| Környezeti korlátozások | Néhány nyelvre korlátozódik. | Nincsenek környezetvédelmi korlátozások. |
AWS Lambda kontra AWS Elastic Beanstalk
Íme néhány fő különbség az AWS Lambda és az Elastic között Beanstalk.
| paraméterek | AWS Elastic Beanstalk | AWS Lambda |
| Fő feladat | Telepítse és kezelje az alkalmazásokat az AWS Cloudon anélkül, hogy aggódnia kellene az alkalmazásokat futtató infrastruktúra miatt. | Az AWS Lambda a háttérkód futtatására és végrehajtására szolgál. Nem használható alkalmazás telepítésére. |
| Az AWS-erőforrások kiválasztása | Szabadságot ad az AWS erőforrások kiválasztásában; például választhat egy EC2 példányt, amely optimális az alkalmazása számára. | Nem választhatja ki az AWS erőforrásokat, például egy EC2 példánytípust; a Lambda a munkaterhelés alapján kínál erőforrásokat. |
| A rendszer típusa | Ez egy állapotalapú rendszer. | Ez egy hontalan rendszer. |
Az AWS Lambda használati esetei
Az AWS Lambda-t számos alkalmazásban használják, például:
- Segít a ETL folyamat
- Lehetővé teszi valós idejű fájlfeldolgozást és valós idejű adatfolyam-feldolgozást
- Használja webes alkalmazások létrehozására
- Használja be Amazon olyan termékek, mint az Alexa Chatbots és Amazon Echo/Alexa
- Adatfeldolgozás (valós idejű adatfolyam-elemzés)
- A mindennapi feladatok automatizált biztonsági mentése
- Skálázható háttérrendszerek (mobilalkalmazások, IoT-eszközök)
- Segít a szerveroldali háttérlogika végrehajtásában
- Lehetővé teszi az adatok szűrését és átalakítását
A lambda funkció legjobb gyakorlatai
Íme néhány AWS Lambda függvények bevált gyakorlata:
- Használja a megfelelő „időtúllépést”.
- Használja a helyi tároló funkcióit, amely 500 MB méretű a /temp mappában.
- Minimalizálja az olyan indítókód használatát, amely nem kapcsolódik közvetlenül az aktuális esemény feldolgozásához.
- A Lambda-funkciók beépített CloudWatch-felügyeletét kell használnia a kérések késleltetésének megtekintéséhez és optimalizálásához.
Mikor ne használja az AWS Lambdát
A következő helyzetekben a Lambda biztosan nem ideális megoldás:
- Az AWS Lambda használata nem helyénvaló olyan szoftvercsomagokhoz vagy alkalmazásokhoz, amelyek az alapul szolgáló objektumok meghívására támaszkodnak. Windows RPC-k.
- Ha licencszerződésekkel rendelkező egyedi szoftveralkalmazásokhoz, például MS-Office dokumentumfeldolgozáshoz használják, Oracle adatbázisok stb.
- Az AWS Lambda-t nem szabad egyéni hardverfolyamatokhoz, például GPU-gyorsításhoz és hardveraffinitáshoz használni.
Az AWS Lambda használatának előnyei
Íme az AWS Lambda használatának előnyei/kedvezőségei:
- Az AWS Lambda egy rendkívül rugalmasan használható eszköz.
- Segít hozzáférést biztosítani az erőforrásokhoz, beleértve a VPC-ket is.
- Közvetlenül szerző egy WYSIWYG szerkesztő a konzolban.
- Beépülő modulként használhatod Eclipse és a Visual Studio.
- Mivel szerver nélküli architektúráról van szó, nem kell aggódnia a szerverek kezelése vagy kiépítése miatt.
- Nem kell beállítani egyiket sem Virtuális gép.
- Segíti a fejlesztőket a kód eseményekre adott válaszának futtatásában és végrehajtásában infrastruktúra kiépítése nélkül.
- Csak a számítási időért kell fizetned, csak akkor, amikor a kódod fut.
- A CloudWatch segítségével valós időben nyomon követheti a kód teljesítményét.
- Lehetővé teszi a kód futtatását más szerverek kiépítése vagy kezelése nélkül.
- Segít abban, hogy a kódot csak akkor hajtsa végre, amikor szükséges.
- Automatikusan méretezheti, hogy napi néhány kérést kezeljen, és akár több ezer kérést is támogatjon másodpercenként.
- Az AWS Lambda külső eseményidőzítők segítségével konfigurálható ütemezett feladatok végrehajtására.
- Az AWS lambda függvényét külső eseményekkel és időzítőkkel kell konfigurálni, hogy ütemezésre is használható legyen.
- A lambda függvények állapot nélküliek, így gyorsan skálázhatók.
- Az AWS Lambda gyors, így ezredmásodperceken belül végrehajtja a kódot.
Az AWS lambda korlátai
Íme az AWS Lambda használatának hátrányai/hátrányai:
- Az AWS Lambda eszköz nem alkalmas kis projektekhez.
- Az AWS Lambda teljes mértékben az AWS-re támaszkodik az infrastruktúra tekintetében, így nem telepíthet további szoftvert, ha a kódja megköveteli.
- Az egyidejű végrehajtás alapértelmezett korlátja régiónként 1,000, amely kérésre növelhető.
- A memória mennyisége 128 MB és 10 240 MB között változhat.
- Az eseménykérés nem haladhatja meg a 128 KB-ot.
- A Lambda-funkciók segítenek abban, hogy naplóikat csak a CloudWatch-ben írhasd. Ez az egyetlen eszköz, amely lehetővé teszi a funkciók figyelését vagy hibaelhárítását.
- A kód végrehajtási időkorlátja 15 percre korlátozódik.





