Hvordan påkalle en lambda med trinnfunksjon

Hvordan påkalle en lambda med trinnfunksjon

“En trinnfunksjon kan brukes til å kontrollere AWS -tjenestene ved hjelp av Amazon State Language. AWS -trinnfunksjon er også en serverløs tjeneste, akkurat som Lambda -funksjonene, men den kan brukes til å utføre flere oppgaver i en sekvens eller i parallell. Trinnfunksjonen er basert på tilstandsmaskinen, og oppgaven og tilstandsmaskinen er bare arbeidsflytene for applikasjonen din. En trinnfunksjon kan brukes til å utføre forskjellige oppgaver ved å påkalle lambda -funksjonen, avhengig av brukssak. I denne bloggen vil vi studere hvordan du kan påkalle lambda -funksjonen med trinnfunksjonen.”

Opprette Lambda -funksjon

Det første du trenger å gjøre er å lage en lambda -funksjon som vil bli påkalt av trinnfunksjonen. I denne bloggen vil vi bruke grunnleggende Hei fra Lambda kode levert av AWS for å påkalle lambda -funksjonen med trinnfunksjonen.

Hello World Lambda -funksjonen har følgende kode, som bare returnerer statisk innhold når det påkalles.

Importer JSON
def lambda_handler (hendelse, kontekst):
# Todo implementerer
komme tilbake
'Statuscode': 200,
'Body': Json.dumper ('hei fra lambda!')

Opprette IAM -rolle for trinnfunksjon

For å påkalle lambda -funksjonen ved hjelp av trinnfunksjonen, må du først oppgi trinnfunksjonens nødvendige tillatelser. For dette må du lage en IAM -rolle for trinnfunksjonen, som gir trinnfunksjonstillatelser for å påkalle lambda -funksjonen. For å skape IAM -rollen, følg de gitt nedenfor trinnene.

  • Gå til IAM -dashbordet ditt
  • På venstre hjørne av konsollen din, klikk på Roller knapp
  • Klikk på skape rolle knapp
  • Plukke ut AWS -tjenester som den pålitelige enhetstypen
  • Under Bruk sak Alternativ, velg trinnfunksjonen
  • Klikk deretter på NESTE knapp
  • I Legg til tillatelse Vindu, det vil automatisk velge den nødvendige IAM -policyen. Du trenger bare å klikke på neste knapp
  • Gi rollenavn Uansett hva du vil, og klikk på Lag rolleknapp For å skape rollen

Opprette trinnfunksjon

Etter å ha opprettet IAM -rollen for trinnfunksjonen, må du nå opprette en Trinnfunksjon som vil bli brukt til å påkalle lambda -funksjonen. For dette, først, gå til trinnfunksjonskonsollen og klikk på Lag statsmaskin knappen for å begynne å lage statsmaskinen. AWS gir følgende to måter å lage statsmaskinen på, og vi vil diskutere begge metodene for å lage statsmaskinen i denne bloggen.

  • Design arbeidsflyten din visuelt
  • Skriv arbeidsflyten din i kode (Amazon States Language)

Design arbeidsflyten din visuelt

Denne metoden er ny og langt enklere enn å skrive arbeidsflyten din i kode fordi du ikke trenger å skrive noen kode. AWS gir den visuelle blokken for arbeidsflyten din, og du trenger bare å dra dem og definere parametrene deres. AWS oppretter automatisk ASL -koden for arbeidsflyten din. Følgende trinn definerer hvordan vi kan lage en trinnfunksjon visuelt.

  • Gå til trinnfunksjonsdashbordet ditt fra AWS Management Console
  • Klikk på Opprett Statsmaskin knapp fra konsollen
  • Under Velg forfattermetode, Velg Design arbeidsflyten visuelt
  • Velg standardalternativet under typen
  • Klikk på NESTE knapp
  • Nå vil du få vinduet der vi skal designe arbeidsflyten for statsmaskinen vår visuelt
  • På venstre side vil den vise AWS Lambda påkaller alternativet. Klikk og dra den til midten av konsollen der den er skrevet; Dra den første tilstanden her
  • På høyre side av vinduet kan du se konfigurasjonen av lambda påkalle
  • Skriv inn statens navn, skriv Lambda påkaller
  • I integrasjonen type Seksjonen, velg optimalisert
  • Deretter, flytt til API -parameterdel
  • Under funksjonsnavn, Klikk på Velg en alternativfane, hvor du finner lambda -funksjonen du vil påkalle
  • Under nyttelast alternativ, velg å bruke inngangstilstanden som nyttelast.
  • Under Neste tilstand, Velg Gå til sluttalternativet
  • Klikk på NESTE Knapp i øverste høyre hjørne
  • I Gjennomgang generert kode Vindu, du kan se at AWS automatisk genererer State Machine Amazon State Language Definition. Generer også arbeidsflyten for trinnfunksjonen din
  • Klikk på NESTE knapp
  • Nå får du Spesifiser tilstandsmaskin Innstillingsvindu
  • Gi et statlig maskinnavn, hva du måtte ønske deg
  • Under Tillatelser, Klikk på Velg en eksisterende rolle avkrysningsrute
  • Velg IAM -rollen som vi opprettet i forrige trinn
  • Bla ned til slutten av siden og klikk på Lag statsmaskin knapp for å opprette tilstandsmaskinen

Skriv arbeidsflyten din på Amazon States Language

Den andre måten å lage statsmaskinen er å skrive arbeidsflyten i kode. Du vil skrive arbeidsflyten i Amazon States Language (ASL). Mens du oppretter statsmaskinen, velger du å skrive Arbeidsflyten din i kode i defineren Statsmaskin -seksjon. Du kan bruke følgende Amazon States Language Code for å påkalle Lambda -funksjonen.


"Startat": "call_lambda",
"States":
"Call_lambda":
"Type": "Oppgave",
"Ressurs": "Arn: AWS: Lambda: AP-South-1: XXXXXX: Funksjon: Invoking_lambda",
"End": True


I definisjonen ovenfor vil du bruke Arn av din lambda -funksjon i ressursfeltet. Du kan få lambda -funksjonen Arn fra Lambda -konsollen.

Påkalle lambda -funksjonen

Etter å ha opprettet statsmaskinen, må du starte utførelsen. Klikk på trinnfunksjonen, så viser den alle konfigurasjonene for trinnfunksjonen der. For å starte utførelsen av trinnfunksjonen, klikker du på Start utførelsesknappen.


Du kan oppgi navn og innspill til utførelsen du skal starte, men det er valgfritt.

Under Utførelsesstatus, Du kan sjekke statusen til trinnfunksjonen som påkaller Lambda -funksjonen. Gå til grafinspektøren og klikk på Lambda påkaller, Og på høyre hjørne av konsollen får du detalj, inndata og utdata -fanen. Klikk på inngang Tab, og du kan se innspillet til utførelsen. Klikk nå på produksjon Tab, og du vil se utgangen fra trinnfunksjonen. Slik påkalles Lambda -funksjonen din med trinnfunksjonen.

Konklusjon

I denne bloggen har vi studert hvordan vi skal påkalle lambda -funksjonen med trinnfunksjonen. Både trinnfunksjonen og lambda -funksjonen er serverløse ressurser av AWS. En trinnfunksjon kan også brukes til å kontrollere de andre tjenestene til AWS som SNS, S3 og SNS, etc. Vi har lært de forskjellige måtene å lage statlige maskiner på, jeg.e., Designe arbeidsflyten din visuelt og designe arbeidsflyten ved hjelp av koden. Å designe arbeidsflyten visuelt er en ny og enkel måte å komme i gang med AWS -trinnfunksjonene.