Hvordan lage en lambda -funksjon med python runtime

Hvordan lage en lambda -funksjon med python runtime
“Lambda er en serverløs datatjeneste levert av AWS for å kjøre koden din uten å administrere skalering og høy tilgjengelighet av serverne. Med begrepet serverløs mener vi at du ikke trenger å ha en server og administrere den for å kjøre applikasjonen din. Lambda utfører oppgaver på dine vegne og administrerer alt av seg selv. Så den har en unik egenskap ved automatisk skalering og administrering av kildene og tjenestene i henhold til krav. Husk at det i sanntid ikke er mulig å kjøre en applikasjon uten en server og dens administrasjon, så det er AWS som tildeler en server og administrerer alle disse tjenestene av seg selv, noe som ikke er din hodepine.”

Følgende er noen av de viktigste oppgavene som AWS foretar og utfører på våre vegne når du distribuerer søknaden din på Lambda.

  1. Servere og vedlikehold av operativsystemet
  2. Styring av minne, CPU, nettverk og andre ressurser
  3. Automatisk skalering
  4. Høy tilgjengelighet
  5. Overvåking av flåtehelse
  6. Bruke sikkerhetsmetoder
  7. Hold oversikt over Lambda -funksjoner (Cloud Watch)

Lambda -funksjon støtter flere språk, inkludert Java, Go, PowerShell, Node.JS, C#, Python og Ruby. For å bruke noe annet programmeringsspråk, gir det også Runtime API -tjeneste. I denne opplæringen vil vi forklare hvordan vi kan lage en Lambda -funksjon med Python Runtime fra bunnen av.

Fakturering av Lambda

Etter å ha vært gjennom en kort introduksjon av Lambda -tjenesten, er det aller første som kommer til vårt sinn, hvis det er serverløs databehandling, hvordan ville AWS belaste denne tjenesten? I motsetning til fakturering av EC2 -servere, der AWS lader for tiden serveren kjører, uavhengig av det faktum om koden vår kjører eller ikke, koster AWS for Lambda bare når koden kjører. Så Lambda -tjenesten belastes bare når koden vår er oppe, ikke fra Lambda -funksjonen vår ble opprettet. Så varigheten av regningen for lambda -funksjonen beregnes for kodeutførelsestiden, som er avrundet opp til nærmeste 1 ms*.

Opprette en Lambda -funksjon med Python -runtime

For å lage en lambda -funksjon med Python -runtime, vil vi opprette en funksjon, og så vil vi konfigurere den til å bruke Python -runtime. I denne opplæringen vil hele skapelsesprosedyren og konfigurasjonen av lambda -funksjonen bli diskutert.

Først av alt, logg inn på AWS Management Console og søk deretter etter Lambda i søkefeltet og gå etter den

På venstre sidefelt, klikk på funksjoner knapp for å få alle funksjonene i lambda -konsollen.

På høyre side av skjermen, klikker du på Lag funksjon knapp for å opprette funksjonen.

Etter å ha valgt CREATE -funksjonen, blir vi rettet mot konfigurasjonssiden til Lambda -funksjonen. Der finner vi fire måter å lage en lambda -funksjon. Foreløpig vil vi gå for "Forfatter fra bunnen av”Alternativ.

I den grunnleggende informasjonsmenyen angir vi en Funksjonsnavn etter vårt valg for vår funksjon.

I neste trinn vil vi velge et språk som vi vil bruke for å skrive vår funksjon. I denne opplæringen vil vi velge Python 3.9 som vår kjøretid.

Deretter vil følgende to alternativer vises for arkitektur.

  • X86_64
  • ARM64

For denne demoen vil vi velge x86_64 Som arkitekturen som vi vil bruke til funksjonskoden.

Som standard oppretter AWS en IAM -rolle som har tillatelse til å kaste logger til CloudWatch. Vi kan skape vår egen rolle med retningslinjene som vi ønsker å bruke for vår lambda -funksjon i henhold til våre krav. For denne opplæringen, i "Endre standard utførelsesrolle”Meny, vi vil gå for“Lag en ny rolle med grunnleggende lambda -tillatelser.

Deretter, i nedre høyre hjørne, vil vi klikke på Lag en funksjon For å lage funksjonen.

En ny skjerm vises med en suksessmelding og oversikt over funksjonen som nedenfor. På denne siden kan vi legge til triggere og destinasjoner for vår funksjon. Foruten det, kan annen informasjon om funksjonen også sees, som inkluderer beskrivelse, siste modifiseringsinformasjon, funksjon ARN og URL til funksjonen.

Testing av en lambda -funksjon

I kodekilde -menyen kan vi se vår Hello World Python -kode, som vist på bildet nedenfor.

Her kan vi teste koden vår ved å bare klikke på Test knapp.

Det vil be om en Konfigurer testhendelsesskjermbilde, Og her kan du konfigurere en testhendelse ved å navngi den, velge tilgjengeligheten av testhendelsen som privat eller delbar, og for standard Hello-World-malen som vi har valgt.

Klikk deretter på lagre knapp for å lagre arrangementet.

Det vil ta oss tilbake til hovedmenyen i funksjonen som viser suksessmeldingen øverst. Her vil vi igjen klikke på Test knapp, og koden vår blir utført.

Som vi har sett utførelsesresultatene av koden vår i den nye fanen. Nå kan vi overskrive og redigere koden vår og teste den på samme måte.

Leselogger av en lambda -funksjon

Som vi har gitt tillatelse til Lambda -funksjonen vår til å laste opp logger til CloudWatch. Så logger vil bli lastet opp for å skyte hver gang vi utfører koden vår.

I venstre sidepanel av CloudWatch klikker vi på logger. Her vil vi kunne se to alternativer i logger.

  • Logggrupper
  • Logginnsikt

I logggrupper vil vi kunne se logger for Hello-World-funksjon som /AWS/Lambda/Hello-World-Function.

I loginnsikt er vi i stand til å søke og analysere loggenes data. Her kan vi lage spørsmål for å utføre vårt arbeid relatert til logger mer effektivt.

Her i loginnsikt, hvis vi velger vår logggruppe og klikker på Kjør spørring, Vi vil få våre ønskede resultater.

Og vi vil få resultatene våre med @Timestamp og @beskjed følgende

På samme måte kan vi lage opptil 1000 Lambda -funksjoner. Vi kan skrive vår Python -kode for å oppfylle våre krav og utføre den. Dessuten kan flere oppgaver også automatiseres ved hjelp av lambda -funksjonen. Vi har nevnt noen grunnleggende oppgaver nedenfor som administreres av Lambda -funksjonen gjennom Python -kode ved bruk av BOTO3, som er Python SDK for AWS.

  • For å motta EC2 -forekomstforhold varsler
  • For å planlegge start og stopp av EC2 -forekomster
  • For å sette et element i AWS DynamoDB -tabellen

Konklusjon

LAMBDA -funksjon er en serverløs datatjeneste levert av AWS der AWS utfører alle oppgavene på våre vegne, fra tildelingen av en server til vedlikehold, styring, nettverk og sikkerhet for den serveren for koden vår. AWS -avgifter for lambda bare når lambda -funksjonen utløses, og den kan faktureres i millisekunder. Derfor har denne lambda-funksjonstjenesten revolusjonert feltet med cloud computing, noe som gjør en rekke skyoppgaver enkle å håndtere.