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.
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.jsonEn 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.jsonKjø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 3000Kalle 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.jsonStegvis 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 5858Begrensninger 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 --lintRask 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.
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
- AWS Serverless Application Model (SAM)
- Introduksjon til Serverless Framework
- CI/CD for serverless-apper
- Lokal testing med SAM CLI