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:

  1. Custom létrehozása MethodHandler
  2. A RequestHandler felület
  3. 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:

  1. „Tervrajz kiválasztása” majd válassza aÜres funkció ”
  2. „Aktiválók konfigurálása” (esetünkben nincsenek kiváltó okok vagy események)
  3. „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.
  4. Miután elkészült az összes bevitellel, kattintson aKövetkező" amely megmutatja a konfiguráció áttekintését.
  5. 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.