Serverlös utveckling med AWS Lambda · Lektion

Lokal testning med SAM CLI

Lär Er anropa, emulera och felsöka Er serverless-applikation lokalt med AWS SAM CLI innan Ni distribuerar den till molnet.

Lektion 4 av 413 steg

Lokal testning med SAM CLI är en gratis lektion i Serverlös utveckling med AWS Lambda på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Serverlös utveckling med AWS Lambda, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Serverlös utveckling med AWS Lambda innehåller totalt 4 lektioner.

Varför testa lokalt?

Det går långsamt att distribuera varje ändring för testning. SAM CLI emulerar Lambda och API Gateway på er dator, vilket ger en snabb återkopplingsloop.

Det här behöver ni

Lokal emulering kör funktioner i Docker-containrar som motsvarar Lambda-runtime-miljön. Därför behöver ni ha Docker installerat tillsammans med SAM CLI.

Anropa en enskild funktion

Använd sam local invoke för att köra en funktion en gång med en testhändelse, precis som vid en enskild Lambda-körning.

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

En fil med en testhändelse

Händelsefilen är den JSON-nyttolast som er handler tar emot. Spara en mapp med exempelhändelser för olika scenarier.

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

Generera exempelhändelser

SAM kan skapa realistiska händelser för vanliga källor, så att ni inte behöver skapa dem för hand.

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

Köra ett lokalt API

sam local start-api startar en lokal HTTP-server som dirigerar förfrågningar till era funktioner och efterliknar API Gateway.

sam local start-api --port 3000

Anropa det lokala API:et

När det körs kan ni anropa det med valfri HTTP-klient. Svaret kommer från er riktiga handler-kod.

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

Miljövariabler lokalt

Skicka med en JSON-fil med åsidosättningar för miljövariabler, så att lokala körningar använder testresurser i stället för produktion.

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

Stegvis felsökning

Starta med -d för att pausa och låta en debugger ansluta på en port. Då kan ni ange brytpunkter i funktionskoden.

sam local invoke OrdersFunction -d 5858

Begränsningar med lokal emulering

Det lokala läget kan inte återskapa IAM, nätverk eller cold starts exakt. Se det som en snabb första kontroll, inte som en ersättning för testning i en staging-miljö i molnet.

Validera mallen

Kör sam validate innan ni distribuerar för att upptäcka fel i mallen tidigt.

sam validate --lint

Snabbtest

Testa era kunskaper om lokal testning.

Sammanfattning

Ni har lärt er att anropa funktioner, generera händelser, köra ett lokalt API, injicera miljövariabler och ansluta en debugger med SAM CLI, samt om begränsningarna med emulering.

Gratis att börja

Lär dig Serverlös utveckling med AWS Lambda med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
12
Lektioner
48

Vanliga frågor

Är lektionen ”Lokal testning med SAM CLI” gratis?

Ja – hela texten till ”Lokal testning med SAM CLI” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Serverlös utveckling med AWS Lambda, kan Ni uppgradera till CoddyKit PRO. Kursen i Serverlös utveckling med AWS Lambda innehåller totalt 4 lektioner.

Vad lär jag mig i ”Lokal testning med SAM CLI”?

Lär Er anropa, emulera och felsöka Er serverless-applikation lokalt med AWS SAM CLI innan Ni distribuerar den till molnet. Ni övar på Serverlös utveckling med AWS Lambda med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Serverlös utveckling med AWS Lambda?

Du behöver inga förkunskaper. Utbildningen i Serverlös utveckling med AWS Lambda på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.

Hur lång tid tar lektionen ”Lokal testning med SAM CLI”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Serverlös utveckling med AWS Lambda-lektionen?

Ja. Varje Serverlös utveckling med AWS Lambda-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. AWS Serverless Application Model (SAM)
  2. Introduktion till Serverless Framework
  3. CI/CD för serverless-appar
  4. Lokal testning med SAM CLI
← Tillbaka till Serverlös utveckling med AWS Lambda