Introduksjon til Amazon API Gateway ved hjelp av AWS Lambda

Introduksjon til Amazon API Gateway ved hjelp av AWS Lambda

Kilde node: 1860150

Introduksjon

Hva er en API?

Enkelt sagt er API en messenger; la oss forstå dette med noen eksempler. La oss si at du er sulten og må lage noe hjemme. Skal du lage nudler er det bare å ta ingrediensene ut av skapet, fyre opp i komfyren og lage det selv. Dette er et program som gjør noe på egen hånd med sine egne ressurser. Men si at du vil ha pizza – du har ikke ingrediensene, og hjemmeovnen din er egentlig ikke så egnet for å lage en fin sprø skorpe. Så du går til et pizzasted i stedet. Men i motsetning til hjemme, kan du ikke bare gå inn på kjøkkenet og begynne å bruke ingrediensene deres til å lage en pizza. De vil ikke ha de skitne hendene dine over tingene deres! Så hva vil du gjøre? Du må gå til disken og bestille - det vil være en meny som viser hvilke pizzaer du kan bestille og hvilke pålegg eller andre alternativer du kan velge. Dette er en API.

Et applikasjonsprogrammeringsgrensesnitt (API) er et sett med regler som spesifiserer hvordan to programmer skal samhandle.

En API lar ett program få tilgang til funksjonaliteten til et annet program. For eksempel, hvis du har et program som trenger å hente data fra internett, kan det bruke et API for å be om disse dataene fra en server. Serveren vil da svare med de forespurte dataene, og programvaren kan bruke dem etter behov.

API-er brukes til å tillate ulike programmer å kommunisere med hverandre og dele data og funksjonalitet. De er en viktig del av moderne programvareutvikling, ettersom de lar ulike systemer fungere sammen og muliggjør opprettelsen av mer komplekse og kraftige programvareapplikasjoner.

HTTP APIer

HTTP API er en type API som bruker HTTP-protokollen for å sende og motta data. Den lar programmer sende og motta data ved hjelp av HTTP-forespørsler og svar. Disse forespørslene og svarene kan være i forskjellige formater, for eksempel ren tekst, JSON eller XML. De brukes ofte i et bredt spekter av applikasjoner, inkludert nettapplikasjoner, mobilapper og mikrotjenester. Disse APIene er relativt billigere enn REST APIer og har mindre funksjonalitet enn de senere.

REST APIer

REST API er en type API som følger et sett med arkitektoniske prinsipper kalt REST (Representational State Transfer). REST er en stil med programvarearkitektur som definerer et sett med begrensninger for å lage web-APIer.

Stateful APIer

En stateful API er en API som opprettholder informasjon om hver klientforespørsel og bruker denne informasjonen til å behandle påfølgende forespørsler. Dette betyr at API-en lagrer data om hver forespørsel, for eksempel forespørselsparameterne, i en økt på serversiden. Disse dataene brukes deretter til å behandle påfølgende forespørsler fra samme klient.

Statsløse APIer

Et statsløst API, derimot, opprettholder ikke informasjon om klientforespørsler. Den behandler hver forespørsel uavhengig, uten å lagre noen data om tidligere forespørsler. Dette betyr at API-en ikke opprettholder en økt på serversiden og ikke bruker data fra tidligere forespørsler til å behandle påfølgende forespørsler.

Nøkkelforskjeller mellom Stateful og Stateless APIer

Nedenfor er noen viktige forskjeller mellom stateful og stateless APIer:

STATEFULLE API-er

STATELØSE APIer

1. Krev en økt på serversiden for å lagre data om klientforespørsler 1. Ikke krev en sesjon på serversiden for å lagre data om klientforespørsler
2. Disse kan noen ganger være tregere enn statsløse APIer fordi de krever og lagrer data som tar tid. 2. Stateless APIer er raskere fordi disse ikke krever og lagrer data om forespørsler.
3. Stateful APIer er ikke enkle å skalere  3. Lettere å skalere da de ikke trenger å vedlikeholde data om tidligere forespørsler.
4. Generelt ansett som mindre sikre enn statsløse APIer 4. Disse anses generelt som sikrere.

Hva er Amazon API Gateway?

Amazon API Gateway er en AWS-tjeneste som brukes til å opprette, vedlikeholde og overvåke både stateful (websocket) og stateless (HTTP og REST) ​​APIer. Vi kan bruke disse APIene for å få tilgang til:

  1. Enhver AWS-tjeneste
  2. Dataene som er lagret i AWS-skyen (som en S3-bøtte)
  3. Eventuelle andre nettjenester.

Hvis du er en API-utvikler, kan du enkelt lage API-ene dine til tredjepartsutviklere også.

Det er hovedsakelig to typer brukere av AWS API Gateway.

  1. i) API-utviklere som oppretter og distribuerer en API for å aktivere den nødvendige funksjonaliteten i API Gateway
  2. ii) Apputviklere som er kunder av API-utvikleren.

Amazon API Gateway-arkitektur

arkitektur

Denne arkitekturen illustrerer hvordan serverløse applikasjoner kan bygges med konsistent og integrert utvikleropplevelse. Fra sluttbrukere til datasentre, håndterer API Gateway alle oppgavene som er involvert, som å akseptere og behandle tusenvis av samtidige samtaler, trafikkstyring, autorisasjon, overvåking, tilgangskontroll, etc.

Amazon API Gateway-funksjoner

  1. Den støtter både stateful og stateless APIer. (Eksempler: Websocket, HTTP og REST).
  2. Kraftige autentiseringsmekanismer inkluderer AWS Identity, Access Management Policies og Lambda-autorisator.
  3. Utviklerportal der API-utviklere kan publisere sine API-er.
  4. Utførelse og tilgangslogging for CloudWatch, inkludert mulighet for å stille inn alarmer.
  5. Integrasjon med andre AWS-tjenester som f.eks AWS Lambda og AWS Kinesis.
  6. Integrasjon med AWS WAF brukes for beskyttelse mot nettutnyttelser, og AWS X-Ray brukes til å forstå og understreke ytelsesforsinkelser.

Komme i gang med Amazon API Gateway

Nå skal vi lage et serverløst API. I et serverløst API kan vi fokusere på applikasjonene våre i stedet for å bruke tid på å administrere servere. Det fungerer slik:

  • API påkalles av klienten
  • API sender forespørsel til lambda
  • Lambda utfører lambda-funksjonen og sender resultatet tilbake til API
  • Etter å ha mottatt resultatet fra lambda, svarer API til klienten

http api

Trinn 1 – Lag en lambda-funksjon

Lambda-funksjonen brukes for backend av API-en vår. Lambda kjører koden kun når den er nødvendig. Den skalerer også automatisk fra noen få forespørsler per dag til tusen forespørsler hvert sekund.

lage lambada-funksjon

Opprette en lambda-funksjon:

1) Gå til lambda-konsollen på https://console.aws.amazon.com/lambda

2) Klikk på Opprett funksjon.

3) Skriv inn "min-funksjon" som funksjonsnavn.

4) Velg Python 3.9 som kjøretid.

5) For denne funksjonen trenger vi ikke å endre noe i kategorien Tillatelser og avanserte innstillinger, da standardtillatelsene er tilstrekkelige for denne demonstrasjonen.

4) Klikk på Opprett funksjon.

TRINN 2 – Opprette en HTTP API

Amazon API

HTTP API gir et HTTP-endepunkt for Lambda-funksjonen din. Det fungerer slik:

  • Klienten sender forespørsel til HTTP API
  • API-en utløser lambda som deretter utfører lambda-funksjonen
  • Lambda sender resultatet til API
  • API svarer klienten med det mottatte svaret

Trinn for å lage en HTTP API

1) Besøk API Gateway-konsollen på https://console.aws.amazon.com/apigateway

2) Klikk på Bygg for å lage ditt første HTTP API

3) Klikk på Legg til integrasjon for integrasjon

4) Velg Lambda.

5) Skriv inn lambdafunksjonen min-funksjon.

6) For API-navn, skriv inn my-http-api.

7) Klikk på Neste.

8) Se gjennom ruten som er opprettet for deg, og velg deretter Neste.

9) Se gjennom scenen som er opprettet for deg, og velg deretter Neste.

10) Klikk på Opprett.

TRINN 3 Test API-en din –

Deretter må vi teste API-en vår for å være sikker på at den fungerer. For dette vil vi bruke en nettleser for å starte vår API.

Amazon API

For å teste vår API

  1. Gå til API Gateway-konsollen på https://console.aws.amazon.com/apigateway
  2. Velg din API.
  3. Noter ned API-ens påkallings-URL. (se bildet over)
  4. Kopier API-ens påkallings-URL, og lim den inn i en nettleser. Bli med påkallings-URLen og navnet på lambda-funksjonen for å kalle opp lambda-funksjonen. API Gateway-konsollen oppretter en rute ved å bruke navnet på Lambda-funksjonen din "min-funksjon" som standard. 

    Den fullstendige URL-adressen skal se ut som https://abcdef123.execute-api.us-east-2.amazonaws.com/my-function. Når du laster inn denne URL-adressen, sendes en GET-forespørsel fra nettleseren din til API-et

  1. Du bør se teksten "Hei fra Lambda!" i nettleseren din. Derfor er responsen til API-en din verifisert.

Amazon API

konklusjonen

Vi har laget vår første HTTP API ved å bruke Amazon API Gateway og AWS Lambda. Videre kan vi utforske forskjellige brukstilfeller av det samme, og på samme måte kan vi også lage REST API, som gir flere funksjoner.

Likte du denne artikkelen? Fortell oss dine tanker i kommentaren nedenfor. Ikke glem å nevne hvilken artikkel du vil lese neste gang.

Tidstempel:

Mer fra Analytics Vidhya