En serverløs applikasjon kan bygges ved hjelp av tjenester levert av AWS som AWS Serverless Application Model (SAM). AWS gir AWS Sam CLI for å utvikle applikasjoner basert på Sam. Det letter et utførelsesmiljø som ligner på Lambda for å bygge, teste og feilsøke applikasjoner levert av SAM -maler. Ved å bruke AWS SAM CLI kan vi også distribuere SAM -applikasjonen til AWS.
Hva vil vi dekke?
I denne guiden vil vi utforske AWS SAM -mal.
Hva er AWS Sam?
AWS SAM brukes til å utvikle serverløse applikasjoner på AWS. Både Sam og Sam Cli er under en åpen kildekode-lisens. Sam definerer ressursene som brukes i serverløse applikasjoner. 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.
Funksjoner av AWS Sam
AWS SAM kan integreres med andre AWS -tjenester og har dermed flere fordeler for å utvikle serverløse applikasjoner:
Ser inn i SAM -malen
En AWS SAM -mal ligner veldig på AWS CloudFormation -mal, men det er noen store forskjeller mellom de to når det gjelder følgende malseksjoner:
De gjenværende malseksjonene ..
Ved siden av de ovennevnte seksjonene, følger gjenværende seksjoner med CloudFormation Mal File -delen med det tilsvarende navnet. AWS SAM -mal krever bare Transform and Resources -seksjoner som et must. Vi kan imidlertid også legge til andre seksjoner. Bortsett fra delen ovenfor, kan vi også ha den nevnte delen nedenfor i AWS SAM -mal:
Malseksjonene diskutert ovenfor kan legges til i hvilken som helst rekkefølge. Imidlertid bør man holde seg til en logisk ordre. AWS Sam Cli har en konfigurasjonsfil med Toml -filformat. Denne filen, kalt som Samconfig.Toml, Holder standardparametere for SAM CLI -kommandoene.
For å bekrefte en AWS SAM -mal, bruk kommandoformatet:
Sam validerer [alternativer]
Eksempel SAM -mal
Her er eksempler på maler for AWS SAM som inneholder spesifikke seksjoner og de tilsvarende prøvestedelsene som vises med 'Sam distribuert'Kommando:
Parameterseksjonen:
Parametere:
Ourpar:
Type: Streng
Standard: Ourpalval
Eksempelutgangsprompt:
Parameter Ourpar [OurParval]:
Ressursdel:
Ressurser:
Hei Verden:
Type: AWS :: Serverløs :: Funksjon
Egenskaper:
Codeuri: hallo_world/
Handler: App.lambda_handler
Runtime: Python3.7
CodesigningConfigarn: ARN: AWS: LAMBDA: US-EAST-1: XXXXXXXXXXXX: Kodesignasjonskonfig: CSC-12E12345DB1234567
Eksempelutgangsprompt:
#Fundne kodesigneringskonfigurasjoner i funksjonsdefinisjonene dine
Vil du signere koden din? [Y/n]:
#Vennligst oppgi signeringsprofildetaljer for følgende funksjoner og lag
#Signende profildetaljer for funksjon 'Helloworld'
Signering av profilnavn:
Signeringsprofileierkonto -ID (valgfritt):
#Signende profildetaljer for Layer 'Mylayer', som brukes av funksjoner 'Helloworld'
Signering av profilnavn:
Signeringsprofileierkonto -ID (valgfritt):
Konklusjon
I denne guiden har vi utforsket AWS SAM -malen. Neste ting du kan prøve er å distribuere en enkel Hello World Serverless -applikasjon som inneholder en AWS SAM -malfil.