AWS Sam Deploy

AWS Sam Deploy
En serverløs applikasjon kan bygges ved hjelp av tjenester levert av AWS, for eksempel AWS Serverless Application Model (SAM). AWS gir AWS Sam CLI for å utvikle applikasjoner basert på Sam. Det letter også et utførelsesmiljø som ligner på Lambda for å bygge, teste og feilsøke applikasjoner levert av SAM -maler. CLI kan også distribuere SAM -applikasjonen til AWS ved hjelp av AWS SAM.

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:

  1. mal.Yaml”Inkluderer AWS SAM -malen, som beskriver AWS -ressursene som omfatter applikasjonen.
  2. app.py" inne i Hei Verden mappe, som inkluderer koden for håndtering av lambda -funksjonen.
  3. "krav.tekst" inne i Hei Verden mappe, som inkluderer avhengigheter som kreves av applikasjonen.

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.