API:n ja liiketoimintalogiikan toteuttaminen
Kehittäkää Lambda-funktiot ja API Gateway -määritykset, jotka toteuttavat palvelimettoman mikropalvelunne keskeisen liiketoimintalogiikan
API:n ja liiketoimintalogiikan toteuttaminen on ilmainen Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppitunti CoddyKitissä. Tämä on oppitunti 2/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 Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssilla on yhteensä 4 oppituntia.
Suunnittelusta toteutukseen
Edellisessä oppitunnissa suunnittelimme palvelimettoman mikropalvelun. Nyt on aika herättää suunnitelma eloon!
Tässä oppitunnissa keskitytään varsinaisten Lambda-funktioiden kehittämiseen ja API Gatewayn määrittämiseen mikropalvelun keskeisen liiketoimintalogiikan toteuttamista varten.
API Gateway: mikropalvelun etuovi
API Gateway toimii palvelimettoman mikropalvelusi turvallisena sisäänkäyntinä. Se vastaanottaa HTTP-pyynnöt ja reitittää ne oikealle taustapalvelulle, joka on yleensä AWS Lambda -funktio.
- Se määrittää API:n päätepisteet (polut ja metodit).
- Se käsittelee pyyntöjen validoinnin ja reitityksen.
- Se integroituu suoraan Lambda-funktioihin.
Lambda: liiketoimintalogiikan ydin
Lambda-funktiosi sisältävät mikropalvelusi varsinaisen liiketoimintalogiikan. Kukin funktio käsittelee yleensä tiettyä API-päätepistettä ja toimintoa (esimerkiksi GET /products/{id} ja POST /products).
Kun API Gateway käynnistää Lambda-funktion, se välittää kaikki pyynnön tiedot event-objektissa.
Lambda-tapahtumaobjektin ymmärtäminen
Kun käytät Lambda Proxy Integration -integraatiota API Gatewayn kanssa, Lambda-funktiollesi välitetty event-objekti sisältää kattavat tiedot saapuvasta HTTP-pyynnöstä.
httpMethod: HTTP-metodi (GET, POST, PUT, DELETE).pathParameters: URL-polun muuttujat.queryStringParameters: URL:n kyselymerkkijonon parametrit.body: Pyynnön runko (JSON-merkkijonona).
GET API -päätepisteen toteuttaminen
Luodaan yksinkertainen Lambda-funktio käsittelemään GET-pyyntöä, esimerkiksi tuotteen hakemista tunnisteen perusteella. Poimimme product_id-arvon pathParameters-parametreista.
Kokeile suorittaa tämä esimerkki:
import json
def lambda_handler(event, context):
product_id = None
if event.get('pathParameters'):
product_id = event['pathParameters'].get('id')
if product_id:
# In a real app, you'd fetch from a DB
product_data = {
"id": product_id,
"name": f"Sample Product {product_id}",
"price": 29.99
}
return {
"statusCode": 200,
"headers": { "Content-Type": "application/json" },
"body": json.dumps(product_data)
}
else:
return {
"statusCode": 400,
"headers": { "Content-Type": "application/json" },
"body": json.dumps({"message": "Missing product ID"})
}API-vastausten muodostaminen
Lambda-funktion on palautettava tietty JSON-rakenne, jotta API Gateway voi käsitellä vastauksen oikein ja lähettää sen takaisin asiakkaalle. Tämä on ratkaisevan tärkeää API:n yhdenmukaisen toiminnan kannalta.
statusCode: HTTP-tilakoodi (esimerkiksi 200 onnistumiselle ja 400 virheelliselle pyynnölle).headers: HTTP-otsakkeiden sanakirja (esimerkiksi'Content-Type': 'application/json').body: Varsinaiset vastaustiedot, joiden on oltava JSON-merkkijono.
POST API -päätepisteen toteuttaminen
Tarkastellaan seuraavaksi POST-pyynnön käsittelyä. Sitä käytetään yleensä uusien resurssien luomiseen. Tässä jäsennämme pyynnön body-osan uuden tuotteen tietojen lukemista varten.
Kokeile suorittaa tämä esimerkki (kuvittele, että POST-pyynnön runkona on {"name": "New Item", "price": 10.50}):
import json
def lambda_handler(event, context):
if event.get('body'):
try:
request_body = json.loads(event['body'])
product_name = request_body.get('name')
product_price = request_body.get('price')
# In a real app, you'd save to a DB and get an ID
new_product = {
"id": "new-prod-123",
"name": product_name,
"price": product_price
}
return {
"statusCode": 201, # 201 Created
"headers": { "Content-Type": "application/json" },
"body": json.dumps(new_product)
}
except json.JSONDecodeError:
return {
"statusCode": 400,
"headers": { "Content-Type": "application/json" },
"body": json.dumps({"message": "Invalid JSON in body"})
}
else:
return {
"statusCode": 400,
"headers": { "Content-Type": "application/json" },
"body": json.dumps({"message": "Request body is empty"})
}Vankka virheenkäsittely Lambdassa
Hyvät API:t antavat selkeitä virheilmoituksia. Lambdassa sinun tulee käsitellä mahdolliset ongelmat ja palauttaa asianmukaiset HTTP-tilakoodit sekä yksityiskohtaiset virherungot.
- Asiakasvirheet (4xx): Virheelliset syötteet ja puuttuvat parametrit.
- Palvelinvirheet (5xx): Odottamattomat ongelmat Lambda-funktiossa tai taustalla olevissa palveluissa.
Palauta aina yhdenmukainen virherakenne, jotta virheiden käsittely asiakkaan puolella on helpompaa.
API Gatewayn määrittäminen integraatiota varten
Kun Lambda-funktiot on kirjoitettu, API Gateway on määritettävä käynnistämään ne. Tämä sisältää seuraavat vaiheet:
- API Gateway resurssin luominen (esimerkiksi
/products). - HTTP-metodin (esimerkiksi
GETtaiPOST) lisääminen resurssiin. - Integraatiotyypin määrittäminen muotoon Lambda Proxy.
- Kohde-Lambda-funktion ARN:n määrittäminen.
Näin API-päätepiste ja funktion liiketoimintalogiikka yhdistetään toisiinsa.
API-logiikan haaste
Oletetaan, että Lambda-funktio on suunniteltu käyttäjän profiilin päivittämiseen. Jos pyynnön runko on tyhjä, minkä HTTP-tilakoodin Lambda-funktion pitäisi palauttaa ilmaistakseen asiakaspuolen virheen?
Oppitunnin yhteenveto
Opit toteuttamaan palvelimettoman mikropalvelun keskeisen API:n ja liiketoimintalogiikan! Käsittelimme seuraavia aiheita:
- API Gatewayn ja Lambdan roolit mikropalvelussa.
- Tietojen poimiminen Lambdan
event-objektista eri HTTP-metodeja varten. - API Gatewayn kanssa yhteensopivien vastausten muodostaminen.
- Vankan virheenkäsittelyn merkitys.
- Lyhyesti, miten API Gateway määritetään käynnistämään Lambda-funktiot.
Olet nyt valmis rakentamaan toimivia palvelimettomia API-päätepisteitä!
Opi Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla 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 ”API:n ja liiketoimintalogiikan toteuttaminen” ilmainen?
Kyllä – oppitunnin ”API:n ja liiketoimintalogiikan toteuttaminen” 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 Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssin, päivitä CoddyKit PROhon. Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”API:n ja liiketoimintalogiikan toteuttaminen”?
Kehittäkää Lambda-funktiot ja API Gateway -määritykset, jotka toteuttavat palvelimettoman mikropalvelunne keskeisen liiketoimintalogiikan Harjoittelet Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”API:n ja liiketoimintalogiikan toteuttaminen”-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ä Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-oppitunnilla?
Kyllä. Jokainen Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla-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
- Palvelimettoman mikropalvelun suunnittelu
- API:n ja liiketoimintalogiikan toteuttaminen
- Tuotannon testaaminen ja valvonta
- Tuotanto-API:n suojaaminen ja skaalaaminen