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.
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.jsonEn 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.jsonKö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 3000Anropa 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.jsonStegvis 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 5858Begrä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 --lintSnabbtest
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.
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
- AWS Serverless Application Model (SAM)
- Introduktion till Serverless Framework
- CI/CD för serverless-appar
- Lokal testning med SAM CLI