Serverless-kehitys AWS Lambdalla · Oppitunti

Paikallinen testaus SAM CLI:llä

Opettele kutsumaan, emuloimaan ja virheenkorjaamaan serverless-sovellustasi paikallisesti AWS SAM CLI:llä ennen sen käyttöönottoa pilvessä.

Oppitunti 4/413 vaihetta

Paikallinen testaus SAM CLI:llä on ilmainen Serverless-kehitys AWS Lambdalla-oppitunti CoddyKitissä. Tämä on oppitunti 4/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Serverless-kehitys AWS Lambdalla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Serverless-kehitys AWS Lambdalla-kurssilla on yhteensä 4 oppituntia.

Miksi testata paikallisesti?

Jokaisen muutoksen käyttöönotto testausta varten on hidasta. SAM CLI emuloi Lambdaa ja API Gatewayta tietokoneellanne, mikä mahdollistaa nopean palautesyklin.

Mitä tarvitsette

Paikallinen emulointi suorittaa funktiot Docker-säilöissä, jotka vastaavat Lambdan suoritusympäristöä, joten SAM CLI:n lisäksi tarvitsette asennetun Dockerin.

Yhden funktion kutsuminen

Käyttäkää komentoa sam local invoke suorittaaksenne yhden funktion kerran testitapahtuman avulla samalla tavalla kuin yksittäisen Lambda-suorituksen.

sam local invoke OrdersFunction \
  --event events/order.json

Testitapahtumatiedosto

Tapahtumatiedosto on JSON-hyötykuorma, jonka käsittelijä vastaanottaa. Säilyttäkää kansiossa esimerkkitapahtumia eri tilanteita varten.

{
  "body": "{\"item\":\"book\",\"qty\":2}",
  "httpMethod": "POST"
}

Esimerkkitapahtumien luominen

SAM voi luoda valmiin pohjan yleisten lähteiden realistisille tapahtumille, joten niitä ei tarvitse rakentaa käsin.

sam local generate-event s3 put > events/s3.json
sam local generate-event apigateway aws-proxy > events/api.json

Paikallisen API:n suorittaminen

sam local start-api käynnistää paikallisen HTTP-palvelimen, joka reitittää pyynnöt funktioillenne ja jäljittelee API Gatewayta.

sam local start-api --port 3000

Paikallisen API:n kutsuminen

Kun palvelin on käynnissä, voitte kutsua sitä millä tahansa HTTP-asiakasohjelmalla. Vastauksen tuottaa varsinainen käsittelijäkoodinne.

curl -X POST http://localhost:3000/orders \
  -d '{"item":"book","qty":2}'

Ympäristömuuttujat paikallisesti

Välittäkää JSON-tiedosto ympäristömuuttujien ohituksista, jotta paikalliset suoritukset käyttävät tuotannon sijaan testiympäristön resursseja.

sam local invoke OrdersFunction \
  --env-vars env.json

Askelittainen virheenkorjaus

Käynnistäkää suoritus valitsimella -d, jolloin se pysähtyy virheenkorjaajan liittämistä varten porttiin ja voitte asettaa keskeytyskohtia funktiokoodiin.

sam local invoke OrdersFunction -d 5858

Paikallisen emuloinnin rajoitukset

Paikallinen tila ei pysty jäljittelemään IAM:ia, verkkoyhteyksiä tai kylmäkäynnistyksiä täydellisesti. Käyttäkää sitä nopeana ensitarkistuksena, ei pilvipohjaisen staging-testin korvaajana.

Mallin tarkistaminen

Suorittakaa ennen käyttöönottoa sam validate, jotta löydätte mallin virheet ajoissa.

sam validate --lint

Pikatarkistus

Testatkaa paikallista testausta koskevat tietonne.

Kertaus

Opitte kutsumaan funktioita, luomaan tapahtumia, suorittamaan paikallisen API:n, välittämään ympäristömuuttujia ja liittämään virheenkorjaajan SAM CLI:n avulla sekä tutustuitte sen emuloinnin rajoituksiin.

Aloita maksutta

Opi Serverless-kehitys AWS Lambdalla tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
12
Oppitunnit
48

Usein kysytyt kysymykset

Onko oppitunti ”Paikallinen testaus SAM CLI:llä” ilmainen?

Kyllä – oppitunnin ”Paikallinen testaus SAM CLI:llä” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Serverless-kehitys AWS Lambdalla-kurssin, päivitä CoddyKit PROhon. Serverless-kehitys AWS Lambdalla-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Paikallinen testaus SAM CLI:llä”?

Opettele kutsumaan, emuloimaan ja virheenkorjaamaan serverless-sovellustasi paikallisesti AWS SAM CLI:llä ennen sen käyttöönottoa pilvessä. Harjoittelet Serverless-kehitys AWS Lambdalla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Serverless-kehitys AWS Lambdalla-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Serverless-kehitys AWS Lambdalla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 4/4.

Kuinka kauan ”Paikallinen testaus SAM CLI:llä”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Serverless-kehitys AWS Lambdalla-oppitunnilla?

Kyllä. Jokainen Serverless-kehitys AWS Lambdalla-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. AWS Serverless Application Model (SAM)
  2. Johdatus Serverless Frameworkiin
  3. Serverless-sovellusten CI/CD
  4. Paikallinen testaus SAM CLI:llä
← Takaisin: Serverless-kehitys AWS Lambdalla