Lokal test med SAM CLI
Lær at kalde, emulere og fejlfinde Deres serverless-applikation lokalt med AWS SAM CLI, før den implementeres i skyen.
Lokal test med SAM CLI er en gratis Serverløs udvikling med AWS Lambda-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Serverløs udvikling med AWS Lambda, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Serverløs udvikling med AWS Lambda-kurset indeholder 4 lektioner i alt.
Hvorfor teste lokalt
Det er langsomt at implementere hver ændring i et testmiljø. SAM CLI emulerer Lambda og API Gateway på din maskine, så du får en hurtig feedbacksløjfe.
Det skal du bruge
Lokal emulering kører funktioner i Docker-containere, der afspejler Lambda-kørselstiden, så du skal have Docker installeret sammen med SAM CLI.
Kørsel af én funktion
Brug sam local invoke til at køre én funktion én gang med en testhændelse, ligesom ved én Lambda-kørsel.
sam local invoke OrdersFunction \
--event events/order.jsonEn fil med en testhændelse
Hændelsesfilen er den JSON-nyttelast, som din handler modtager. Opbevar en mappe med eksempelhændelser til forskellige scenarier.
{
"body": "{\"item\":\"book\",\"qty\":2}",
"httpMethod": "POST"
}Generering af eksempelhændelser
SAM kan oprette realistiske hændelser som udgangspunkt for almindelige kilder, så du ikke skal lave dem manuelt.
sam local generate-event s3 put > events/s3.json
sam local generate-event apigateway aws-proxy > events/api.jsonKørsel af en lokal API
sam local start-api starter en lokal HTTP-server, der sender forespørgsler videre til dine funktioner og efterligner API Gateway.
sam local start-api --port 3000Kald af den lokale API
Når den kører, kan du kalde den med en hvilken som helst HTTP-klient. Svaret kommer fra din faktiske handler-kode.
curl -X POST http://localhost:3000/orders \
-d '{"item":"book","qty":2}'Miljøvariabler lokalt
Angiv en JSON-fil med tilsidesættelser af miljøvariabler, så lokale kørsler peger på testressourcer i stedet for produktion.
sam local invoke OrdersFunction \
--env-vars env.jsonFejlfinding trin for trin
Start med -d for at sætte funktionen på pause, så en fejlfindingsprogram kan oprette forbindelse på en port, og du kan sætte brudpunkter i funktionskoden.
sam local invoke OrdersFunction -d 5858Begrænsninger ved lokal emulering
Lokal tilstand kan ikke gengive IAM, netværk eller cold starts perfekt. Brug den som et hurtigt første tjek, ikke som erstatning for en test i et cloud-baseret stagingmiljø.
Valider skabelonen
Kør sam validate før implementering for at finde fejl i skabelonen tidligt.
sam validate --lintHurtigt tjek
Test din viden om lokal testning.
Opsummering
Du har lært at køre funktioner, generere hændelser, køre en lokal API, indsætte miljøvariabler og tilslutte en fejlfindingsprogram med SAM CLI samt om begrænsningerne ved emuleringen.
Lær Serverløs udvikling med AWS Lambda med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Lokal test med SAM CLI” gratis?
Ja — hele teksten til “Lokal test med SAM CLI” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Serverløs udvikling med AWS Lambda-kurset, skal du opgradere til CoddyKit PRO. Serverløs udvikling med AWS Lambda-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Lokal test med SAM CLI”?
Lær at kalde, emulere og fejlfinde Deres serverless-applikation lokalt med AWS SAM CLI, før den implementeres i skyen. Du øver dig i Serverløs udvikling med AWS Lambda med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Serverløs udvikling med AWS Lambda?
Der kræves ingen tidligere erfaring. Serverløs udvikling med AWS Lambda på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.
Hvor lang tid tager lektionen “Lokal test med SAM CLI”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Serverløs udvikling med AWS Lambda-lektion?
Ja. Alle Serverløs udvikling med AWS Lambda-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- AWS Serverless Application Model (SAM)
- Introduktion til Serverless Framework
- CI/CD til serverless-apps
- Lokal test med SAM CLI