Serverløs backend med AWS Lambda & API Gateway · leksjon

Distribusjon av SAM-applikasjoner

Bruk SAM CLI til å bygge, teste lokalt og distribuere serverløse applikasjoner til AWS, og administrer ulike miljøer.

Leksjon 3 av 411 trinn

Distribusjon av SAM-applikasjoner er en gratis leksjon i Serverløs backend med AWS Lambda & API Gateway på CoddyKit. Dette er leksjon 3 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Serverløs backend med AWS Lambda & API Gateway, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Serverløs backend med AWS Lambda & API Gateway inneholder totalt 4 leksjoner.

Introduksjon til SAM CLI

Velkommen til distribusjon av SAM-applikasjoner! AWS Serverless Application Model Command Line Interface (SAM CLI) er din beste hjelper når du skal bygge og administrere serverløse prosjekter.

Det utvider AWS CloudFormation for å forenkle defineringen av serverløse ressurser. SAM CLI tilbyr kommandoer for å bygge, teste og distribuere serverløse applikasjoner.

Bygge applikasjonen

Før du distribuerer SAM-applikasjonen, må den bygges. Kommandoen sam build tar applikasjonskoden og avhengighetene dine og klargjør dem for distribusjon.

  • Den pakker avhengigheter (for eksempel Python-biblioteker).
  • Den transpilerer kode ved behov (for eksempel TypeScript til JavaScript).
  • Den oppretter et distribuerbart artefakt i katalogen .aws-sam/build.

Eksempel på Lambda-funksjon

La oss se på en enkel Python Lambda-funksjon og dens template.yaml. Kommandoen sam build behandler dette for å opprette distribuerbar kode.

Etter at du har kjørt sam build, er den pakkede koden klar for lokal testing eller distribusjon.

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 testing med `sam local invoke`

SAM CLI lar deg teste Lambda-funksjonene lokalt uten å distribuere dem til AWS, slik at du sparer tid og kostnader. Bruk sam local invoke for å simulere et Lambda-kall.

Du kan sende hendelsesdata direkte til funksjonen, på samme måte som AWS-tjenester (for eksempel API Gateway eller S3) ville utløst den.

Kjøre en Lambda-funksjon lokalt

For å teste Lambda-funksjonen fra den forrige scenen bruker du sam local invoke med den logiske ID-en til funksjonen og en hendelsesfil.

For eksempel vil sam local invoke MyHelloWorldFunction --event event.json teste en funksjon med navnet «MyHelloWorldFunction» ved hjelp av dataene i event.json.

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

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

Hvis SAM-applikasjonen din inkluderer en API Gateway, kan du simulere hele API-et lokalt ved hjelp av sam local start-api. Denne kommandoen starter en lokal webserver som etterligner API Gateway.

Deretter kan du sende HTTP-forespørsler til http://127.0.0.1:3000 og teste API-endepunktene dine fra ende til ende lokalt.

Klargjøre for distribusjon: `sam deploy`

Når applikasjonen er bygget og testet lokalt, er du klar til å distribuere den til AWS. Kommandoen sam deploy brukes til dette.

Den pakker applikasjonsartefaktene, laster dem opp til en S3-bøtte og bruker deretter AWS CloudFormation til å distribuere de serverløse ressursene dine.

Din første veiledede distribusjon

For den første distribusjonen anbefales det sterkt å bruke flagget --guided. Det veileder deg interaktivt gjennom konfigurasjonen av nødvendige parametere.

  • Stakknavn: En unik identifikator for CloudFormation-stakken.
  • AWS-region: Hvor ressursene skal distribueres.
  • S3-bøtte: For lagring av distribusjonsartefakter.
  • Funksjoner: Bekreftelse av oppretting av IAM-ressurser.

Eksempel: sam deploy --guided

Administrere flere miljøer

I virkelige scenarier har du ofte utviklings-, test- og produksjonsmiljøer. SAM CLI hjelper deg med å administrere dette ved at du kan angi ulike stakknavn og parametere.

  • Bruk ulike stakknavn (for eksempel my-app-dev, my-app-prod).
  • Bruk --parameter-overrides til å sende ulike verdier for miljøspesifikke konfigurasjoner (for eksempel databasenavn og API-nøkler).

Rask sjekk

Hvilken SAM CLI-kommando brukes til å teste API Gateway-endepunktene lokalt?

Oppsummering og neste steg

Gratulerer! Du har lært de viktigste trinnene for å bygge, teste og distribuere serverløse applikasjoner ved hjelp av SAM CLI.

  • sam build: Pakker og klargjør applikasjonen.
  • sam local invoke: Tester individuelle Lambda-funksjoner lokalt.
  • sam local start-api: Simulerer API Gateway for lokal API-testing.
  • sam deploy: Distribuerer applikasjonen til AWS CloudFormation.

Å beherske disse kommandoene er avgjørende for effektiv serverløs utvikling!

Gratis å komme i gang

Lær deg Serverløs backend med AWS Lambda & API Gateway med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
12
Leksjoner
48

Ofte stilte spørsmål

Er leksjonen «Distribusjon av SAM-applikasjoner» gratis?

Ja – hele teksten i «Distribusjon av SAM-applikasjoner» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Serverløs backend med AWS Lambda & API Gateway-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Serverløs backend med AWS Lambda & API Gateway inneholder totalt 4 leksjoner.

Hva lærer jeg i «Distribusjon av SAM-applikasjoner»?

Bruk SAM CLI til å bygge, teste lokalt og distribuere serverløse applikasjoner til AWS, og administrer ulike miljøer. Du øver på Serverløs backend med AWS Lambda & API Gateway med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Serverløs backend med AWS Lambda & API Gateway?

Ingen tidligere erfaring er nødvendig. Serverløs backend med AWS Lambda & API Gateway på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.

Hvor lang tid tar leksjonen «Distribusjon av SAM-applikasjoner»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Serverløs backend med AWS Lambda & API Gateway-leksjonen?

Ja. Alle Serverløs backend med AWS Lambda & API Gateway-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til AWS SAM
  2. Definering av serverløse ressurser
  3. Distribusjon av SAM-applikasjoner
  4. Lokal testing og feilsøking med SAM CLI
← Tilbake til Serverløs backend med AWS Lambda & API Gateway