AWS Lambda Med Java

1. Introduksjon

AWS Lambda er en serverløs databehandlingstjeneste levert av Amazon for å redusere konfigurasjonen av servere, OS, skalerbarhet, etc. AWS Lambda er i stand til å utføre kode på AWS Cloud.

Den kjører som svar på hendelser på forskjellige AWS-ressurser, noe som utløser AWS Lambda-funksjoner. Prissetting er pay-as-you-go, noe som betyr at vi ikke skal betale pengene våre på inaktiv lambda-funksjoner.

Denne opplæringen krever en gyldig AWS-konto. du kan opprette en her.

2. Maven-avhengigheter

For å aktivere AWS lambda trenger vi følgende avhengighet i prosjektet vårt:

 com.amazonaws aws-lambda-java-core 1.1.0 

Denne avhengigheten finner du i Maven repository.

Vi trenger også Maven Shade Plugin for å bygge lambda-applikasjonen:

 org.apache.maven.plugins maven-shade-plugin 2.4.3 falsk pakkeskyanse 

3. Lag håndterer

Enkelt sagt, for å påkalle en lambda-funksjon, må vi spesifisere en handler; det er tre måter å opprette en handler på:

  1. Opprette en tilpasset MethodHandler
  2. Implementering av RequestHandler grensesnitt
  3. Implementering av RequestStreamHandler grensesnitt

La oss se hvordan du gjør det ved hjelp av kodeeksempler.

3.1. Tilpasset MethodHandler

Vi oppretter en behandlingsmetode som vil være inngangspunktet for innkommende forespørsler. Vi kan bruke JSON-format eller primitive datatyper som inngangsverdier.

Også det valgfrie Kontekst objektet vil gi oss tilgang til nyttig informasjon som er tilgjengelig i Lambda-utførelsesmiljøet:

offentlig klasse LambdaMethodHandler {public String handleRequest (String input, Context context) {context.getLogger (). log ("Input:" + input); returner "Hello World -" + input; }}

3.2. RequestHandler Grensesnitt

Vi kan også implementere RequestHandler inn i klassen vår og overstyre handleRequest metode som vil være vårt inngangspunkt for forespørsler:

offentlig klasse LambdaRequestHandler implementerer RequestHandler {public String handleRequest (String input, Context context) {context.getLogger (). log ("Input:" + input); returner "Hello World -" + input; }}

I dette tilfellet vil inngangen være den samme som i det første eksemplet.

3.3. RequestStreamHandler Grensesnitt

Vi kan også implementere RequestStreamHandler i klassen vår og bare overstyre handleRequest metode.

Forskjellen er at InputStream, ObjectStream og Kontekst objekter sendes som parametere:

offentlig klasse LambdaRequestStreamHandler implementerer RequestStreamHandler {public void handleRequest (InputStream inputStream, OutputStream outputStream, Context context) {String input = IOUtils.toString (inputStream, "UTF-8"); outputStream.write (("Hello World -" + input) .getBytes ()); }}

4. Bygg distribusjonsfil

Med alt konfigurert, kan vi opprette distribusjonsfilen ved å kjøre:

mvn ren pakkeskygge: skygge

De krukke filen blir opprettet under mål mappe.

5. Opprett Lambda-funksjon via Management Console

Logg på AWS Amazon og klikk deretter på Lambda under tjenester. Denne siden viser listen over lambdafunksjoner, som allerede er opprettet.

Her er trinnene som kreves for å lage vår lambda:

  1. “Velg tegning” og velg deretter “Tom funksjon ”
  2. “Konfigurer utløsere” (i vårt tilfelle har vi ingen utløsere eller hendelser)
  3. “Konfigurer funksjon”:
    • Navn: Gi MetodeHåndtererLambda,
    • Beskrivelse: Alt som beskriver vår lambda-funksjon
    • Runtime: Velg java8
    • Kodeinngangstype og funksjonspakke: Velg “Last opp en .ZIP- og Jar-fil ” og klikk på “Laste opp" knapp. Velg filen som inneholder lambdakode.
    • Under Lambda funksjonsbehandler og rolle:
      • Handler navn: Oppgi navn på lambdafunksjoner com.baeldung.MethodHandlerLambda :: handleRequest
      • Rollenavn: Hvis noen andre AWS-ressurser brukes i lambda-funksjonen, gir du tilgang ved å opprette / bruke eksisterende rolle og også definere policymal.
    • Under Avanserte innstillinger:
      • Minne: Gi minne som skal brukes av vår lambda-funksjon.
      • Tidsavbrudd: Velg et tidspunkt for utførelse av lambda-funksjonen for hver forespørsel.
  4. Når du er ferdig med alle inngangene, klikker du “Neste ” som viser deg å gjennomgå konfigurasjonen.
  5. Når en anmeldelse er fullført, klikker du på “Opprett funksjon ”.

6. Påkalle funksjonen

Når AWS lambda-funksjonen er opprettet, tester vi den ved å sende inn noen data:

  • Klikk på lambdafunksjonen din fra lister og klikk deretter på “Test" knapp
  • Et popup-vindu vises som inneholder dummy-verdi for sending av data. Overstyr dataene med “Baeldung”
  • Klikk på “Lagre og test ” knapp

På skjermen kan du se Utførelsesresultat seksjon med vellykket retur som:

"Hello World - Baeldung"

7. Konklusjon

I denne raske intro-artikkelen har vi laget en enkel AWS Lambda-app ved hjelp av Java 8, distribuert den til AWS og testet den.

Den fulle kildekoden for eksempelappen finner du på Github.


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