Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla · Oppitunti

API:n ja liiketoimintalogiikan toteuttaminen

Kehittäkää Lambda-funktiot ja API Gateway -määritykset, jotka toteuttavat palvelimettoman mikropalvelunne keskeisen liiketoimintalogiikan

Oppitunti 2/411 vaihetta

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:

  1. API Gateway resurssin luominen (esimerkiksi /products).
  2. HTTP-metodin (esimerkiksi GET tai POST) lisääminen resurssiin.
  3. Integraatiotyypin määrittäminen muotoon Lambda Proxy.
  4. 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ä!

Aloita maksutta

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

  1. Palvelimettoman mikropalvelun suunnittelu
  2. API:n ja liiketoimintalogiikan toteuttaminen
  3. Tuotannon testaaminen ja valvonta
  4. Tuotanto-API:n suojaaminen ja skaalaaminen
← Takaisin: Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla