Kald af Lambda med API Gateway
Konfigurer API Gateway som et HTTP-slutpunkt for dine Lambda-funktioner, så de kan håndtere webanmodninger og opbygge RESTful API'er.
Kald af Lambda med API Gateway er en gratis Serverløs udvikling med AWS Lambda-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Serverløs udvikling med AWS Lambda, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Serverløs udvikling med AWS Lambda-kurset indeholder 4 lektioner i alt.
Din Lambdas hoveddør
Forestil dig, at du har en fantastisk serverløs funktion, men hvordan får folk adgang til den fra en webbrowser eller en anden applikation? Det er her, Amazon API Gateway kommer ind i billedet!
API Gateway fungerer som dine applikationers »hoveddør«. Det er en fuldt administreret tjeneste, der hjælper udviklere med at oprette, publicere, vedligeholde, overvåge og sikre API'er i enhver skala.
Hvorfor kombinere API Gateway med Lambda?
Lambda-funktioner er gode til at køre kode uden at administrere servere. Men alene har de ikke offentlige HTTP-endepunkter, der er tilgængelige via internettet.
API Gateway leverer disse endepunkter og omdanner simple Lambda-funktioner til effektive, tilgængelige webtjenester. Denne kombination er et centralt mønster til opbygning af serverløse RESTful-API'er.
Gør Lambda til et HTTP-endepunkt
Når du integrerer Lambda med API Gateway, håndterer API Gateway den indgående HTTP-forespørgsel og dirigerer den til din Lambda-funktion. Når Lambda har behandlet forespørgslen og returnerer et svar, tager API Gateway svaret og sender det tilbage til klienten.
- Klientforespørgsel: Browseren eller appen sender en HTTP-forespørgsel.
- API Gateway: Modtager, godkender og dirigerer forespørgslen.
- Lambda-kald: API Gateway udløser din Lambda.
- Lambda-svar: Lambda behandler og returnerer data.
- Klientsvar: API Gateway formaterer og sender svaret tilbage.
Forenklet Lambda-proxyintegration
En af de mest almindelige måder at integrere Lambda med API Gateway på er ved hjælp af Lambda Proxy Integration.
Med proxyintegration videresender API Gateway de rå data fra HTTP-anmodningen (f.eks. headere, brødtekst og forespørgselsparametre) direkte til din Lambda-funktion. Din Lambda returnerer derefter et svar i et bestemt format, som API Gateway forstår, og som API Gateway bruger til at oprette HTTP-svaret til klienten.
Opbygning af en Lambda, der er klar til API'er
Ved API Gateways proxyintegration skal din Lambda-funktion forvente et hændelsesobjekt, der indeholder oplysninger om HTTP-anmodningen, og returnere et objekt med statusCode, headers og body.
Lad os se på et enkelt Python-eksempel:
import json
def lambda_handler(event, context):
# Log the incoming event for debugging
print(f"Received event: {event}")
# Extract path parameter if available
name = "World"
if event.get('pathParameters') and 'name' in event['pathParameters']:
name = event['pathParameters']['name']
# Construct the response body
response_message = f"Hello, {name} from CoddyKit Lambda!"
# API Gateway expects a specific response format
return {
'statusCode': 200,
'headers': {
'Content-Type': 'application/json'
},
'body': json.dumps(response_message)
}Format for Lambda-svar
Den Python-Lambda-funktion, vi så, returnerer en ordbog. API Gateway bruger denne ordbog til at opbygge HTTP-svaret, der sendes tilbage til klienten.
statusCode: HTTP-statuskoden (f.eks.200ved succes).headers: En ordbog med HTTP-svarets headere.body: Det faktiske svarindhold, som skal være en streng (ofte serialiseret som en JSON-streng).
Dette strenge format sikrer, at API Gateway kan oversætte din Lambdas output korrekt til et standardiseret HTTP-svar.
Opsætning af API-endepunktet
For at forbinde din Lambda-funktion skal du typisk:
- Oprette en ny REST API i API Gateway.
- Definere en ressource (f.eks.
/helloeller/hello/{name}for sti-parametre). - Tilføje en metode (f.eks.
GET) til din ressource. - Konfigurere metoden til at bruge Lambda Proxy Integration og pege på din Lambda-funktion.
- Give API Gateway tilladelse til at kalde din Lambda.
Disse trin opretter forbindelsen mellem din HTTP-anmodning og din serverløse funktion.
Implementering af din API
Når du har konfigureret dine API Gateway-ressourcer og -metoder, skal du implementere API'en i et trin.
Et trin er en logisk reference til en tilstand i din APIs livscyklus (f.eks. dev, test, prod). Ved implementering oprettes en offentligt tilgængelig URL til din API, f.eks. https://abcdefg.execute-api.us-east-1.amazonaws.com/dev/hello.
Du kan derefter bruge denne URL til at sende HTTP-anmodninger til din Lambda-funktion.
Kald af din nye API
Når din API er implementeret, kan du teste dens endepunkt med værktøjer som en webbrowser, curl eller Postman.
Hvis din API f.eks. er implementeret på /dev/hello/{name}, kan du besøge:
https://your-api-id.execute-api.region.amazonaws.com/dev/hello/Coddy
Det kalder din Lambda, som derefter returnerer en meddelelse med teksten "Hello, Coddy from CoddyKit Lambda!".
Kontrol af API Gateway-integrationen
Du har lært, hvordan API Gateway fungerer som indgang til Lambda. Lad os teste din forståelse af, hvordan disse tjenester fungerer sammen.
Opsummering: API Gateway og Lambda
I denne lektion så vi, hvordan Amazon API Gateway omdanner dine Lambda-funktioner til tilgængelige HTTP-endepunkter. Du lærte:
- At API Gateway fungerer som en "indgang" til serverløse applikationer.
- At Lambda Proxy Integration gør det enklere at videresende anmodninger og svar.
- Hvilket bestemt svarformat din Lambda skal returnere.
- De overordnede trin til at definere, implementere og teste din API.
Denne effektive kombination er grundlæggende, når du bygger serverløse web-API'er!
Lær Serverløs udvikling med AWS Lambda med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Kald af Lambda med API Gateway” gratis?
Ja — hele teksten til “Kald af Lambda med API Gateway” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Serverløs udvikling med AWS Lambda-kurset, skal du opgradere til CoddyKit PRO. Serverløs udvikling med AWS Lambda-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Kald af Lambda med API Gateway”?
Konfigurer API Gateway som et HTTP-slutpunkt for dine Lambda-funktioner, så de kan håndtere webanmodninger og opbygge RESTful API'er. Du øver dig i Serverløs udvikling med AWS Lambda med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Serverløs udvikling med AWS Lambda?
Der kræves ingen tidligere erfaring. Serverløs udvikling med AWS Lambda på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Kald af Lambda med API Gateway”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Serverløs udvikling med AWS Lambda-lektion?
Ja. Alle Serverløs udvikling med AWS Lambda-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Grundlæggende om hændelsesdrevet arkitektur
- Kald af Lambda med API Gateway
- Hændelsesudløsere fra S3 og SQS
- Planlagte kald med EventBridge