AWS Lambda Java-val
1. Bemutatkozás
Az AWS Lambda egy kiszolgáló nélküli számítástechnikai szolgáltatás, amelyet az Amazon nyújt a szerverek konfigurációjának, az operációs rendszer, a skálázhatóság stb. Csökkentésére. Az AWS Lambda képes kódokat futtatni az AWS Cloud-on.
Különböző AWS-erőforrások eseményeire reagál, amelyek elindítják az AWS Lambda funkciókat. Az árképzés felosztó-kirovó, ami azt jelenti, hogy nem használjuk a tétlen lambda funkciókat.
Ez az oktatóanyag érvényes AWS-fiókot igényel; itt létrehozhat egyet.
2. Maven-függőségek
Az AWS lambda engedélyezéséhez a következő függőségre van szükségünk a projektünkben:
com.amazonaws aws-lambda-java-core 1.1.0
Ez a függőség megtalálható a Maven tárházban.
Szükségünk van a Maven Shade beépülő modulra is a lambda alkalmazás felépítéséhez:
org.apache.maven.plugins maven-shadow-plugin 2.4.3 hamis csomagárnyékolás
3. Hozzon létre Handler-t
Egyszerűen fogalmazva: a lambda függvény meghívásához meg kell adnunk egy kezelőt; a kezelő létrehozásának 3 módja van:
- Custom létrehozása MethodHandler
- A RequestHandler felület
- A RequestStreamHandler felület
Nézzük meg, hogyan kell csinálni kódpéldák segítségével.
3.1. Egyedi MethodHandler
Hozunk létre egy kezelő módszert, amely a bejövő kérések belépési pontja lesz. Használhatunk JSON formátumot vagy primitív adattípusokat bemeneti értékként.
Továbbá az opcionális Kontextus Az objektum lehetővé teszi számunkra, hogy hozzáférjünk a Lambda végrehajtási környezetben elérhető hasznos információkhoz:
public class LambdaMethodHandler {public String handleRequest (String input, Context context) {context.getLogger (). log ("Input:" + input); return "Hello World -" + input; }}
3.2. RequestHandler Felület
Meg tudjuk valósítani a RequestHandler osztályunkba és felülírja a handleRequest módszer, amely a belépési pontunk lesz a kérésekhez:
public class LambdaRequestHandler implementálja a RequestHandler {public String handleRequest (String input, Context context) {context.getLogger (). log ("Input:" + input); return "Hello World -" + input; }}
Ebben az esetben a bemenet ugyanaz lesz, mint az első példában.
3.3. RequestStreamHandler Felület
Meg tudjuk valósítani RequestStreamHandler osztályunkban, és egyszerűen felülírja a handleRequest módszer.
A különbség az InputStream, ObjectStream és Kontextus az objektumok paraméterként kerülnek átadásra:
public class LambdaRequestStreamHandler implementálja a RequestStreamHandler {public void handleRequest (InputStream inputStream, OutputStream outputStream, Context context) {String input = IOUtils.toString (inputStream, "UTF-8"); outputStream.write (("Hello World -" + input) .getBytes ()); }}
4. Telepítési fájl létrehozása
Minden konfigurálva egyszerűen futtathatjuk a telepítési fájlt:
mvn tiszta csomagolás árnyalata: árnyék
A befőttes üveg fájl létrejön a cél mappába.
5. Hozzon létre Lambda funkciót a Kezelői konzolon keresztül
Jelentkezzen be az AWS Amazon szolgáltatásba, majd kattintson a Lambda elemre a szolgáltatások alatt. Ezen az oldalon a már létrehozott lambda függvények listája jelenik meg.
Az alábbi lépések szükségesek a lambda létrehozásához:
- „Tervrajz kiválasztása” majd válassza aÜres funkció ”
- „Aktiválók konfigurálása” (esetünkben nincsenek kiváltó okok vagy események)
- „Funkció konfigurálása”:
- Név: Adja meg MethodHandlerLambda,
- Leírás: Bármi, ami leírja a lambda funkciónkat
- Futásidejű: Válassza ki java8
- Kódbejegyzés típusa és funkciócsomagja: Válassza a “.ZIP és Jar fájl feltöltése ” és kattintson aFeltöltés ” gomb. Válassza ki a lambda kódot tartalmazó fájlt.
- Alatt Lambda funkciókezelő és szerep:
- Kezelő neve: Adja meg a lambda függvény kezelő nevét com.baeldung.MethodHandlerLambda :: handleRequest
- Szerepnév: Ha a lambda függvényben más AWS-erőforrásokat használnak, biztosítson hozzáférést a meglévő szerepkör létrehozásával / felhasználásával, és határozza meg a házirend-sablont is.
- Alatt További beállítások:
- Memória: Adjon memóriát, amelyet a lambda funkciónk használ.
- Időtúllépés: Válassza ki a lambda függvény végrehajtásának időpontját minden egyes kéréshez.
- Miután elkészült az összes bevitellel, kattintson aKövetkező" amely megmutatja a konfiguráció áttekintését.
- A felülvizsgálat befejezése után kattintson aFunkció létrehozása ”.
6. Hívja meg a Funkciót
Miután létrehozta az AWS lambda függvényt, néhány adat átadásával teszteljük:
- Kattintson a lambda függvényre a listákból, majd kattintson a „Teszt" gomb
- Megjelenik egy felugró ablak, amely dummy értéket tartalmaz az adatok küldéséhez. Az adatok felülírása a következővel: „Baeldung”
- Kattintson "Mentés és tesztelés ” gomb
A képernyőn láthatja a Végrehajtási eredmény szakasz sikeresen visszaadott kimenettel:
"Hello World - Baeldung"
7. Következtetés
Ebben a gyors bevezető cikkben létrehoztunk egy egyszerű AWS Lambda alkalmazást a Java 8 segítségével, telepítettük az AWS-be és teszteltük.
A példaalkalmazás teljes forráskódja megtalálható a Github oldalon.