AWS Lambda s programom Java

1. Úvod

AWS Lambda je serverová výpočtová služba poskytovaná spoločnosťou Amazon na zníženie konfigurácie serverov, operačného systému, škálovateľnosti atď. AWS Lambda je schopná vykonávať kód na AWS Cloud.

Beží ako reakcia na udalosti na rôznych prostriedkoch AWS, čo spúšťa funkcie AWS Lambda. Cena je priebežne platená, čo znamená, že peniaze nezhromažďujeme na nečinné funkcie lambda.

Táto príručka vyžaduje platný účet AWS; tu si môžete vytvoriť.

2. Maven závislosti

Na povolenie AWS lambda potrebujeme v našom projekte nasledujúcu závislosť:

 com.amazonaws aws-lambda-java-core 1.1.0 

Túto závislosť nájdete v úložisku Maven.

Na zostavenie aplikácie lambda potrebujeme tiež doplnok Maven Shade.

 org.apache.maven.plugins maven-shad-plugin 2.4.3 nesprávny odtieň balíka 

3. Vytvorte obslužný program

Jednoducho povedané, na vyvolanie funkcie lambda je potrebné určiť obslužnú rutinu; existujú 3 spôsoby vytvorenia obslužnej rutiny:

  1. Vytvorenie zvyku MethodHandler
  2. Vykonávanie RequestHandler rozhranie
  3. Vykonávanie RequestStreamHandler rozhranie

Pozrime sa, ako to urobiť, pomocou príkladov kódu.

3.1. Vlastné MethodHandler

Vytvoríme metódu obsluhy, ktorá bude vstupným bodom pre prichádzajúce požiadavky. Ako vstupné hodnoty môžeme použiť formát JSON alebo primitívne dátové typy.

Tiež voliteľné Kontext objekt nám umožní prístup k užitočným informáciám dostupným v prostredí exekúcie Lambda:

verejná trieda LambdaMethodHandler {public String handleRequest (vstup do reťazca, kontextový kontext) {context.getLogger (). log ("Vstup:" + vstup); návrat „Hello World -“ + vstup; }}

3.2. RequestHandler Rozhranie

Môžeme tiež implementovať RequestHandler do našej triedy a prepísať handleRequest metóda, ktorá bude našim vstupným bodom pre žiadosti:

verejná trieda LambdaRequestHandler implementuje RequestHandler {public String handleRequest (vstup do reťazca, kontextový kontext) {context.getLogger (). log ("Input:" + vstup); návrat „Hello World -“ + vstup; }}

V takom prípade bude vstup rovnaký ako v prvom príklade.

3.3. RequestStreamHandler Rozhranie

Môžeme aj realizovať RequestStreamHandler v našej triede a jednoducho prepísať handleRequest metóda.

Rozdiel je v tom InputStream, ObjectStream a Kontext objekty sa odovzdávajú ako parametre:

verejná trieda LambdaRequestStreamHandler implementuje RequestStreamHandler {public void handleRequest (InputStream inputStream, OutputStream outputStream, kontextový kontext) {String input = IOUtils.toString (inputStream, "UTF-8"); outputStream.write (("Hello World -" + vstup) .getBytes ()); }}

4. Vytvorte súbor nasadenia

So všetkým nakonfigurovaným môžeme vytvoriť súbor nasadenia jednoduchým spustením:

mvn čisté balenie odtieň: odtieň

The jar súbor sa vytvorí pod cieľ priečinok.

5. Vytvorte funkciu Lambda pomocou konzoly na správu

Prihláste sa do AWS Amazon a potom kliknite na Lambda v časti Služby. Táto stránka zobrazí zoznam funkcií lambda, ktorý je už vytvorený.

Tu sú kroky potrebné na vytvorenie našej lambdy:

  1. „Select blueprint“ a potom vyberte „Prázdna funkcia “
  2. „Konfigurovať spúšťače“ (v našom prípade nemáme žiadne spúšťače alebo udalosti)
  3. „Konfigurovať funkciu“:
    • Názov: Poskytnite MethodHandlerLambda,
    • Popis: Všetko, čo popisuje našu funkciu lambda
    • Runtime: Vyberte java8
    • Balík typu a funkcie zadávania kódu: Vyberte „Nahrajte súbor .ZIP a Jar “ a kliknite na „Nahrať ” tlačidlo. Vyberte súbor, ktorý obsahuje kód lambda.
    • Pod Obsluha a rola lambda funkcie:
      • Názov obslužného programu: Zadajte názov obslužného programu funkcie lambda com.baeldung.MethodHandlerLambda :: handleRequest
      • Názov role: Ak sa vo funkcii lambda používajú akékoľvek ďalšie zdroje AWS, potom poskytnite prístup vytvorením / použitím existujúcej role a tiež definujte šablónu politiky.
    • Pod Pokročilé nastavenia:
      • Pamäť: Poskytnite pamäť, ktorá bude použitá našou funkciou lambda.
      • Časový limit: Vyberte čas pre vykonanie funkcie lambda pre každú požiadavku.
  4. Po dokončení všetkých vstupov kliknite na „Ďalšie" ktorý vám ukáže kontrolu konfigurácie.
  5. Po dokončení kontroly kliknite na „Vytvoriť funkciu ”.

6. Vyvolajte funkciu

Po vytvorení funkcie AWS lambda ju otestujeme odovzdaním niektorých údajov:

  • Kliknite na svoju funkciu lambda zo zoznamov a potom kliknite na „Test “ tlačidlo
  • Zobrazí sa vyskakovacie okno, ktoré obsahuje fiktívnu hodnotu pre odosielanie údajov. Prepísať údaje pomocou „Baeldung“
  • Kliknite na "Uložiť a otestovať “ tlačidlo

Na obrazovke môžete vidieť Výsledok vykonania sekcia s úspešne vráteným výstupom ako:

„Hello World - Baeldung“

7. Záver

V tomto rýchlom úvodnom článku sme vytvorili jednoduchú aplikáciu AWS Lambda pomocou Java 8, nasadili sme ju do AWS a otestovali ju.

Celý zdrojový kód príkladnej aplikácie nájdete na stránkach Github.


$config[zx-auto] not found$config[zx-overlay] not found