Serverløs udvikling med AWS Lambda · Lektion

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.

Lektion 4 af 413 trin

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.json

En 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.json

Kø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 3000

Kald 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.json

Fejlfinding 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 5858

Begræ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 --lint

Hurtigt 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.

Gratis at komme i gang

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

  1. AWS Serverless Application Model (SAM)
  2. Introduktion til Serverless Framework
  3. CI/CD til serverless-apps
  4. Lokal test med SAM CLI
← Tilbage til Serverløs udvikling med AWS Lambda