Distribusjon av SAM-applikasjoner
Bruk SAM CLI til å bygge, teste lokalt og distribuere serverløse applikasjoner til AWS, og administrer ulike miljøer.
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-overridestil å 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!
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
- Introduksjon til AWS SAM
- Definering av serverløse ressurser
- Distribusjon av SAM-applikasjoner
- Lokal testing og feilsøking med SAM CLI