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

Pyyntöjen ja vastausten muunnokset

Mukauttakaa API Gatewayn pyyntö- ja vastauskuormia yhdistämällä ne erilaisiin taustajärjestelmiin mapping template -mallien (VTL) avulla

Oppitunti 2/411 vaihetta

Pyyntöjen ja vastausten muunnokset 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.

Tietojen yhteensopivuuden varmistaminen

Kuvitelkaa, että API-asiakkaanne käyttävät yhtä tietokieltä, mutta taustapalvelu ymmärtää toista. Miten saatte ne kommunikoimaan sujuvasti?

API Gatewayn pyyntö- ja vastausmuunnokset toimivat yleiskääntäjän tavoin: ne muokkaavat hyötykuormia eri järjestelmien yhteensopivuuden varmistamiseksi.

Yhdistämismallien esittely

Muunnosten ytimessä ovat mapping templates eli yhdistämismallit. Ne ovat Velocity Template Language (VTL) -kielellä kirjoitettuja tekstipohjaisia malleja.

Määritätte VTL-mallin, joka kertoo API Gatewaylle täsmälleen, miten saapuvaa (pyyntö) tai lähtevää (vastaus) dataa järjestellään uudelleen tai muokataan.

Pyyntöjen muunnokset

Pyyntöjen muunnokset muokkaavat asiakkaan lähettämää dataa ennen kuin se saavuttaa taustapalvelun, kuten Lambda-funktion.

Tämä on hyödyllistä seuraavissa tilanteissa:

  • Monimutkaisten asiakaspyyntöjen yksinkertaistaminen taustajärjestelmää varten.
  • Tiettyjen otsakkeiden tai parametrien lisääminen.
  • Tietomuotojen muuntaminen (esimerkiksi XML JSONiksi tai toiseksi JSON-rakenteeksi).

VTL pyyntöjen yhdistämiseen

Tässä on yksinkertainen VTL-esimerkki pyynnölle. Se ottaa asiakkaan id- ja qty-arvot ja yhdistää ne taustajärjestelmää varten productId- ja quantity-kenttiin.

$input-muuttujan avulla pääsette käsiksi saapuvan pyynnön runkoon ja parametreihin.

#set($body = $input.json('$'))
{
  "productId": "$body.id",
  "quantity": $body.qty
}

Pyyntökontekstin käyttäminen

Rungon lisäksi voitte käyttää muita pyynnön tietoja, kuten polkuparametreja, kyselymerkkijonoja ja otsakkeita, $context-muuttujan avulla.

Näin voitte rikastaa taustajärjestelmälle välitettävää syötettä API-kutsun sisältämillä arvokkailla kontekstitiedoilla.

#set($body = $input.json('$'))
{
  "userId": "$context.authorizer.claims.sub",
  "resourcePath": "$context.resourcePath",
  "itemId": "$input.params('itemId')",
  "requestedQuantity": $body.qty
}

Vastausten muunnokset

Vastausten muunnokset muokkaavat taustapalvelun palauttamaa dataa ennen kuin se lähetetään takaisin asiakkaalle.

Tämä on olennaista seuraavista syistä:

  • API-vastausten yhdenmukaistaminen eri taustajärjestelmien välillä.
  • Arkaluonteisten sisäisten tietojen piilottaminen asiakkailta.
  • Taustajärjestelmän tulosteen muuntaminen asiakkaalle sopivaan muotoon.

VTL vastausten yhdistämiseen

Pyyntöjen tavoin myös vastauksia muunnetaan VTL:n avulla. Tässä taustajärjestelmän result-kenttä yhdistetään asiakkaalle yleiskäyttöisempään data-kenttään.

Vastausmallin $input-muuttuja viittaa taustajärjestelmän tulosteeseen.

#set($body = $input.json('$'))
{
  "status": "success",
  "data": $body.result
}

Ehdollinen vastausten yhdistäminen

API Gatewayn avulla voitte määrittää erilaiset vastausmallit taustajärjestelmän HTTP-tilakoodin perusteella. Voitte esimerkiksi käyttää yhtä mallia onnistuneille vastauksille (kuten 200 OK) ja toista virheille (kuten 400 Bad Request).

Näin voitte hallita tarkasti, miten erilaiset lopputulokset esitetään asiakkaalle.

#if($input.path('$.statusCode') == 200)
{
  "message": "Operation successful."
}
#else
{
  "error": "$input.path('$.errorMessage')"
}
#end

VTL:n parhaat käytännöt

Kun kirjoitatte VTL-malleja:

  • Pidätte mallin yksinkertaisena: Välttäkää monimutkaista logiikkaa ja siirtäkää se tarvittaessa taustajärjestelmään.
  • Testaatte perusteellisesti: Käyttäkää API Gatewayn testikutsutoimintoa.
  • Käytätte $util.urlEncode-toimintoa: Koodatkaa arvot, kun sijoitatte niitä URL-osoitteisiin tai kyselymerkkijonoihin.
  • Käsittelette tyhjät arvot: Käyttäkää $!variable-muotoa, jotta tulosteena on tyhjä merkkijono, jos muuttujan arvo on null.

Pikakertaus

Olette oppineet, miten API Gatewayn muunnoksilla voidaan muotoilla dataa uudelleen. Mitkä seuraavista ovat pyyntöjen ja vastausten muunnosten keskeisiä hyötyjä?

Kertaus: muunnosten hallinta

Olette oppineet, kuinka VTL-yhdistämismalleihin perustuvat API Gatewayn muunnokset ovat olennaisia joustavien ja kestävien API-rajapintojen rakentamisessa.

Muotoilemalla sekä saapuvia pyyntöjä että lähteviä vastauksia voitte varmistaa sujuvan viestinnän erilaisten asiakkaiden ja taustapalvelujen välillä, parantaa ylläpidettävyyttä ja vähentää monimutkaisuutta.

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 ”Pyyntöjen ja vastausten muunnokset” ilmainen?

Kyllä – oppitunnin ”Pyyntöjen ja vastausten muunnokset” 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 ”Pyyntöjen ja vastausten muunnokset”?

Mukauttakaa API Gatewayn pyyntö- ja vastauskuormia yhdistämällä ne erilaisiin taustajärjestelmiin mapping template -mallien (VTL) avulla 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 ”Pyyntöjen ja vastausten muunnokset”-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. Välimuisti ja liikenteen rajoittaminen
  2. Pyyntöjen ja vastausten muunnokset
  3. Mukautetut verkkotunnukset ja reunatapojen optimointi
  4. WebSocket-rajapinnat reaaliaikaiseen viestintään
← Takaisin: Palvelimeton taustajärjestelmä AWS Lambdalla ja API Gatewaylla