Hva vil vi dekke?
I denne guiden vil vi utforske distribusjon av en AWS SAM -applikasjon.
Hva er AWS Sam?
AWS Sam er en Amazon skybasert tjeneste for å utvikle serverløse applikasjoner. Sam, så vel som Sam Cli, er begge open source-prosjekter. Sam definerer ressursene som brukes i applikasjoner basert på serverløs arkitektur. Den har korte syntakser for å betegne APIer, funksjoner, databaser og kartlegging av hendelseskilde. SAM -syntaksene blir transformert og utvidet til AWS CloudFormation Syntaxes. Programmer kan modelleres ved hjelp av YAML. På denne måten kan serverløse applikasjoner bygges raskt.
De “Sam distribuerer” Kommando
Som standard, den Sam Deploy Kommandoen tar den gjeldende katalogen som rotkatalogen for prosjektet. Først ser AWS Sam CLI etter en malfil som heter mal.yaml inne i underkatalogen “.aws-sam”Ble satt opp ved å kjøre Sam Build kommando.
Deretter ser det ut for den samme filen (begge malene.yaml eller mal.yml) i gjeldende katalog. Når en "-mal”Alternativet brukes med distribusjonskommandoen, standard holdningen til AWS SAM CLI er overstyret. Den vil da bare distribuere den spesifiserte AWS SAM -malen og lokale ressurser.
De Sam Deploy Kommando gir også en guidet interaktiv modus med "-guidet”Alternativ. I denne modusen blir brukeren bedt om forskjellige parametere som er nødvendige for distribusjon.
Viktige Sam CLI -kommandoer
Sam-init: SAM CLI -verktøy kan initialisere serverløse applikasjoner ved hjelp av AWS -infrastrukturmaler. Dette gjøres ved hjelp av “Sam-init”Kommando.
Sam-Build: På samme måte "Sam-Build”Kommando brukes til å kompilere, bygge og emballasje lambda -funksjoner med den gitte kjøretiden.
Sam-Local: Med Docker -containere kan “Sam Local” -kommandoer lokalt teste SAM -applikasjonen ved å kjøre den.
Sam Sync: “Sam Sync”Kommando gir en funksjon for å synkronisere og verifisere modifikasjonene som er gjort i skylmiljøet.
Sam-distribusjon: Kjør til slutt “Sam Deploy”Kommando for å distribuere SAM -applikasjonen din.
Distribuere en helloworld -applikasjon
La oss ta et eksempel på AWS Sam Deploy ved hjelp av en prøve Helloworld -applikasjon. I dette eksemplet bruker Helloworld -applikasjonen en grunnleggende API -backend. Se følgende diagram for komponentene som ble brukt i dette applikasjonen:
Lambda -funksjonen påberopes når en GET -forespørsel mottas på API Gateway -endepunktet. Som svar blir en Hello World -melding returnert av Lambda -funksjonen.
Følg nå disse trinnene for å distribuere denne applikasjonen:
Last ned prøveapplikasjonen
Først, kjør følgende kommando:
Sam init
En serie spørsmål vises på skjermen. For typen mal holder vi til alternativet AWS Quick Start Templates etterfulgt av Hello World -malen:
Vi velger standardalternativet: Python Runtime og Zip Package Type. Behold også prosjektnavnet for å være standard: “Sam-App”.
Etter å ha utført de forrige innstillingene, vil du se det grunnleggende sammendraget av applikasjonen:
Dette Sam-init Kommandoen vil føre til at en katalog blir opprettet med samme navn som valgt for prosjektnavnet. Legg også merke til at følgende katalog inneholder mange underkataloger og filer:
$ tre sam-app
Dette er de tre viktigste filene:
Bygge søknaden
Før du bygger applikasjonen, naviger prosjektkatalogen som inneholder malen.YAML -fil og kjør deretter build -kommandoen. Slik gjør du dette i ett trinn:
$ CD SAM-APP && Sam Build
Merk: Bruk den nødvendige versjonen av Python. Ellers kan build -kommandoen mislykkes.
Distribuere applikasjonen
Til slutt, for å distribuere applikasjonen med en interaktiv veiviser, kjør følgende kommando:
$ Sam Deploy -Gledet
Anerkjenn et spørsmål ved å legge inn "y" og trykk Enter for å velge et standardalternativ.
Når du blir bedt om å distribuere endringene, skriver du inn “Y”:
Etter litt behandling, bør du se en vellykket melding:
Testing av applikasjonen
Bruke "Sam Local”Kommando for å teste Hello World -applikasjonen med Docker -containere:
$ Sam Local Start-api
En annen måte å teste applikasjonen er å ringe lambda -funksjonen med:
$ Sam Local påkaller "HelloWorldFunction" -e Events/Event.JSON
Konklusjon
I denne guiden har vi dekket hvordan du bygger og distribuerer en AWS SAM -applikasjon ved hjelp av en prøve AWS SAM -mal. Deretter kan du prøve å utvikle og distribuere din egen AWS SAM -applikasjon. Vi håper du fant denne artikkelen nyttig. Sjekk andre Linux -hint -artikler for flere tips og opplæringsprogrammer.