Serverløs utvikling med AWS Lambda · leksjon

Lokal testing med SAM CLI

Lær å kjøre, emulere og feilsøke serverless-applikasjonen lokalt med AWS SAM CLI før De distribuerer den til skyen.

Leksjon 4 av 413 trinn

Lokal testing med SAM CLI er en gratis leksjon i Serverløs utvikling med AWS Lambda på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Serverløs utvikling med AWS Lambda, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Serverløs utvikling med AWS Lambda inneholder totalt 4 leksjoner.

Hvorfor teste lokalt?

Det tar lang tid å distribuere hver endring til testing. SAM CLI emulerer Lambda og API Gateway på maskinen Deres, slik at De får en rask tilbakemeldingssløyfe.

Dette trenger De

Lokal emulering kjører funksjoner i Docker-containere som gjenspeiler Lambda-kjøremiljøet. De trenger derfor Docker installert sammen med SAM CLI.

Kalle én enkelt funksjon

Bruk sam local invoke for å kjøre én funksjon én gang med en testhendelse, akkurat som én enkelt Lambda-kjøring.

sam local invoke OrdersFunction \
  --event events/order.json

En fil med en testhendelse

Hendelsesfilen er JSON-nyttelastingen som handleren mottar. Oppbevar en mappe med eksempelhendelser for ulike scenarier.

{
  "body": "{\"item\":\"book\",\"qty\":2}",
  "httpMethod": "POST"
}

Generere eksempelhendelser

SAM kan opprette realistiske hendelser for vanlige kilder, slik at De slipper å lage dem manuelt.

sam local generate-event s3 put > events/s3.json
sam local generate-event apigateway aws-proxy > events/api.json

Kjøre et lokalt API

sam local start-api starter en lokal HTTP-server som ruter forespørsler til funksjonene Deres og etterligner API Gateway.

sam local start-api --port 3000

Kalle det lokale API-et

Når det kjører, kan De sende forespørsler til det med en hvilken som helst HTTP-klient. Svaret kommer fra den faktiske handler-koden Deres.

curl -X POST http://localhost:3000/orders \
  -d '{"item":"book","qty":2}'

Miljøvariabler lokalt

Send inn en JSON-fil med overstyringer av miljøvariabler, slik at lokale kjøringer peker på testressurser i stedet for produksjon.

sam local invoke OrdersFunction \
  --env-vars env.json

Stegvis feilsøking

Start med -d for å sette kjøringen på pause slik at en feilsøker kan koble seg til på en port. Da kan De sette stoppunkter i funksjonskoden.

sam local invoke OrdersFunction -d 5858

Begrensninger ved lokal emulering

Lokal modus kan ikke gjenskape IAM, nettverk eller kalde starter helt nøyaktig. Se på den som en rask førstesjekk, ikke som en erstatning for testing i et staging-miljø i skyen.

Validere malen

Før De distribuerer, bør De kjøre sam validate for å oppdage feil i malen tidlig.

sam validate --lint

Rask sjekk

Test kunnskapene Deres om lokal testing.

Oppsummering

De har lært å kalle funksjoner, generere hendelser, kjøre et lokalt API, injisere miljøvariabler og koble til en feilsøker med SAM CLI, samt om begrensningene ved emuleringen.

Gratis å komme i gang

Lær deg Serverløs utvikling med AWS Lambda med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Lokal testing med SAM CLI» gratis?

Ja – hele teksten i «Lokal testing med SAM CLI» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Serverløs utvikling med AWS Lambda-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Serverløs utvikling med AWS Lambda inneholder totalt 4 leksjoner.

Hva lærer jeg i «Lokal testing med SAM CLI»?

Lær å kjøre, emulere og feilsøke serverless-applikasjonen lokalt med AWS SAM CLI før De distribuerer den til skyen. Du øver på Serverløs utvikling med AWS Lambda med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Serverløs utvikling med AWS Lambda?

Ingen tidligere erfaring er nødvendig. Serverløs utvikling med AWS Lambda på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Lokal testing med SAM CLI»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Serverløs utvikling med AWS Lambda-leksjonen?

Ja. Alle Serverløs utvikling med AWS Lambda-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. AWS Serverless Application Model (SAM)
  2. Introduksjon til Serverless Framework
  3. CI/CD for serverless-apper
  4. Lokal testing med SAM CLI
← Tilbake til Serverløs utvikling med AWS Lambda