Serverløs backend med AWS Lambda og API Gateway · Lektion

Implementering af SAM-applikationer

Brug SAM CLI til at bygge, teste lokalt og implementere Deres serverless-applikationer på AWS, mens De administrerer forskellige miljøer.

Lektion 3 af 411 trin

Implementering af SAM-applikationer er en gratis Serverløs backend med AWS Lambda og API Gateway-lektion på CoddyKit. Dette er lektion 3 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 backend med AWS Lambda og API Gateway, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Serverløs backend med AWS Lambda og API Gateway-kurset indeholder 4 lektioner i alt.

Introduktion til SAM CLI

Velkommen til implementering af SAM-applikationer! AWS Serverless Application Model Command Line Interface (SAM CLI) er din bedste hjælper til at bygge og administrere serverløse projekter.

Det udvider AWS CloudFormation for at gøre det nemmere at definere serverløse ressourcer. SAM CLI indeholder kommandoer til at bygge, teste og implementere dine serverløse applikationer.

Bygning af din applikation

Din SAM-applikation skal bygges, før den implementeres. Kommandoen sam build tager din applikationskode og dens afhængigheder og forbereder dem til implementering.

  • Den pakker afhængigheder (f.eks. Python-biblioteker).
  • Den transpilerer kode efter behov (f.eks. TypeScript til JavaScript).
  • Den opretter et implementerbart artefakt i mappen .aws-sam/build.

Eksempel på en Lambda-funktion

Lad os se på en simpel Python Lambda-funktion og dens template.yaml. Kommandoen sam build behandler dette for at oprette implementerbar kode.

Efter kørsel af sam build vil den pakkede kode være klar til lokal test eller implementering.

import json

def lambda_handler(event, context):
    """
    A simple Lambda handler.
    """
    return {
        "statusCode": 200,
        "headers": {
            "Content-Type": "application/json"
        },
        "body": json.dumps({
            "message": "Hello from your SAM Lambda!"
        })
    }

Lokal test med `sam local invoke`

SAM CLI giver dig mulighed for at teste dine Lambda-funktioner lokalt uden at implementere dem i AWS, så du sparer tid og omkostninger. Brug sam local invoke til at simulere et Lambda-kald.

Du kan sende hændelsesdata direkte til din funktion, ligesom AWS-tjenester (f.eks. API Gateway eller S3) ville udløse den.

Kørsel af en Lambda-funktion lokalt

Hvis du vil teste Lambda-funktionen fra den forrige scene, skal du bruge sam local invoke sammen med funktionens logiske ID og en hændelsesfil.

For eksempel tester sam local invoke MyHelloWorldFunction --event event.json en funktion med navnet 'MyHelloWorldFunction' ved hjælp af dataene i event.json.

{
  "httpMethod": "GET",
  "path": "/hello",
  "queryStringParameters": null,
  "headers": {
    "Accept": "*/*"
  },
  "body": null
}

Lokal API-test med `sam local start-api`

Hvis din SAM-applikation indeholder en API Gateway, kan du simulere hele API'et lokalt ved hjælp af sam local start-api. Denne kommando starter en lokal webserver, der efterligner API Gateway.

Derefter kan du sende HTTP-anmodninger til http://127.0.0.1:3000 og teste dine API-slutpunkter fra start til slut lokalt.

Forberedelse til implementering: `sam deploy`

Når din applikation er bygget og testet lokalt, er du klar til at implementere den i AWS. Kommandoen sam deploy bruges til dette.

Den pakker din applikations artefakter, uploader dem til en S3-bucket og bruger derefter AWS CloudFormation til at implementere dine serverløse ressourcer.

Din første guidede implementering

Til din første implementering anbefales det på det kraftigste at bruge flaget --guided. Det fører dig interaktivt gennem opsætningen af de nødvendige parametre.

  • Stacknavn: Entydig identifikator for din CloudFormation-stack.
  • AWS-region: Hvor dine ressourcer skal implementeres.
  • S3-bucket: Til lagring af implementeringsartefakter.
  • Funktioner: Bekræftelse af oprettelse af IAM-ressourcer.

Eksempel: sam deploy --guided

Administration af flere miljøer

I virkelige scenarier har du ofte udviklings-, test- og produktionsmiljøer. SAM CLI hjælper med at administrere dette ved at give dig mulighed for at angive forskellige stacknavne og parametre.

  • Brug forskellige stacknavne (f.eks. my-app-dev, my-app-prod).
  • Brug --parameter-overrides til at sende forskellige værdier for miljøspecifikke konfigurationer (f.eks. databasenavne og API-nøgler).

Hurtig kontrol

Hvilken SAM CLI-kommando bruges til at teste dine API Gateway-slutpunkter lokalt?

Opsummering og næste trin

Tillykke! Du har lært de vigtigste trin til at bygge, teste og implementere serverløse applikationer ved hjælp af SAM CLI.

  • sam build: Pakker og forbereder din applikation.
  • sam local invoke: Tester individuelle Lambda-funktioner lokalt.
  • sam local start-api: Simulerer API Gateway til lokal API-test.
  • sam deploy: Implementerer din applikation med AWS CloudFormation.

Det er afgørende for effektiv udvikling af serverløse applikationer at mestre disse kommandoer!

Gratis at komme i gang

Lær Serverløs backend med AWS Lambda og API Gateway 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 “Implementering af SAM-applikationer” gratis?

Ja — hele teksten til “Implementering af SAM-applikationer” 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 backend med AWS Lambda og API Gateway-kurset, skal du opgradere til CoddyKit PRO. Serverløs backend med AWS Lambda og API Gateway-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Implementering af SAM-applikationer”?

Brug SAM CLI til at bygge, teste lokalt og implementere Deres serverless-applikationer på AWS, mens De administrerer forskellige miljøer. Du øver dig i Serverløs backend med AWS Lambda og API Gateway 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 backend med AWS Lambda og API Gateway?

Der kræves ingen tidligere erfaring. Serverløs backend med AWS Lambda og API Gateway 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 3 af 4.

Hvor lang tid tager lektionen “Implementering af SAM-applikationer”?

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 backend med AWS Lambda og API Gateway-lektion?

Ja. Alle Serverløs backend med AWS Lambda og API Gateway-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. Introduktion til AWS SAM
  2. Definition af serverless-ressourcer
  3. Implementering af SAM-applikationer
  4. Lokal test og fejlfinding med SAM CLI
← Tilbage til Serverløs backend med AWS Lambda og API Gateway