Anropa Lambda med API Gateway
Konfigurera API Gateway som en HTTP-slutpunkt för dina Lambda-funktioner så att de kan hantera webbförfrågningar och bygga RESTful API:er
Anropa Lambda med API Gateway är en gratis lektion i Serverlös utveckling med AWS Lambda på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Serverlös utveckling med AWS Lambda, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Serverlös utveckling med AWS Lambda innehåller totalt 4 lektioner.
Din Lambdas ytterdörr
Föreställ dig att du har en fantastisk serverless-funktion, men hur får människor åtkomst till den från en webbläsare eller en annan applikation? Det är där Amazon API Gateway kommer in!
API Gateway fungerar som dina applikationers ”ytterdörr”. Det är en fullständigt hanterad tjänst som hjälper utvecklare att skapa, publicera, underhålla, övervaka och säkra API:er i valfri skala.
Varför kombinera API Gateway med Lambda?
Lambda-funktioner är utmärkta för att köra kod utan att hantera servrar. Men på egen hand har de inga offentliga HTTP-endpoints som är åtkomliga via internet.
API Gateway tillhandahåller dessa endpoints och omvandlar enkla Lambda-funktioner till kraftfulla, åtkomliga webbtjänster. Kombinationen är ett centralt mönster för att bygga serverless-baserade RESTful API:er.
Gör Lambda till en HTTP-endpoint
När du integrerar Lambda med API Gateway hanterar API Gateway den inkommande HTTP-begäran och dirigerar den till din Lambda-funktion. När Lambda har bearbetat begäran och returnerat ett svar tar API Gateway emot svaret och skickar det tillbaka till klienten.
- Client Request: Webbläsaren eller appen skickar en HTTP-begäran.
- API Gateway: Tar emot, autentiserar och dirigerar begäran.
- Lambda Invocation: API Gateway triggar din Lambda.
- Lambda Response: Lambda bearbetar och returnerar data.
- Client Response: API Gateway formaterar och skickar tillbaka svaret.
Förenklad Lambda-proxyintegrering
Ett av de vanligaste sätten att integrera Lambda med API Gateway är att använda Lambda Proxy Integration.
Med proxyintegrering skickar API Gateway rådata från HTTP-begäran, till exempel headers, body och frågeparametrar, direkt till Lambda-funktionen. Lambda returnerar sedan ett svar i ett specifikt format som API Gateway förstår och använder för att skapa HTTP-svaret till klienten.
Bygga en Lambda redo för API:er
För API Gateways proxyintegrering måste Lambda-funktionen förvänta sig ett händelseobjekt som innehåller information om HTTP-begäran och returnera ett objekt med statusCode, headers och body.
Vi tittar på ett enkelt Python-exempel:
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 för Lambda-svar
Python-Lambda-funktionen vi såg returnerar en dictionary. API Gateway använder denna dictionary för att skapa HTTP-svaret som skickas tillbaka till klienten.
statusCode: HTTP-statuskoden, till exempel200vid ett lyckat resultat.headers: En dictionary med HTTP-svarets headers.body: Det faktiska svarsinnehållet, som måste vara en sträng (ofta konverterad till en JSON-sträng).
Detta strikta format säkerställer att API Gateway kan översätta resultatet från Lambda till ett standardiserat HTTP-svar på rätt sätt.
Konfigurera API-slutpunkten
För att ansluta din Lambda-funktion brukar du:
- Skapa ett nytt REST API i API Gateway.
- Definiera en Resource, till exempel
/helloeller/hello/{name}för sökvägsparametrar. - Lägga till en Method, till exempel
GET, för din resurs. - Konfigurera metoden så att den använder Lambda Proxy Integration och pekar på din Lambda-funktion.
- Ge API Gateway behörighet att anropa din Lambda.
Dessa steg skapar länken mellan din HTTP-begäran och din serverlösa funktion.
Distribuera ditt API
När du har konfigurerat dina API Gateway-resurser och metoder måste du distribuera API:t till en stage.
En stage är en logisk referens till ett livscykeltillstånd för ditt API, till exempel dev, test eller prod. Vid distribution skapas en offentligt tillgänglig URL för ditt API, till exempel https://abcdefg.execute-api.us-east-1.amazonaws.com/dev/hello.
Därefter kan du använda denna URL för att skicka HTTP-begäranden till din Lambda-funktion.
Anropa ditt nya API
När API:t har distribuerats kan du testa API-slutpunkten med verktyg som en webbläsare, curl eller Postman.
Om ditt API till exempel har distribuerats till /dev/hello/{name} kan du besöka:
https://your-api-id.execute-api.region.amazonaws.com/dev/hello/Coddy
Detta skulle anropa din Lambda, som sedan returnerar meddelandet "Hello, Coddy from CoddyKit Lambda!".
Kontroll av API Gateway-integreringen
Du har lärt dig hur API Gateway fungerar som en ingång till Lambda. Nu testar vi din förståelse av hur dessa tjänster fungerar tillsammans.
Sammanfattning: API Gateway och Lambda
I den här lektionen såg vi hur Amazon API Gateway omvandlar dina Lambda-funktioner till tillgängliga HTTP-slutpunkter. Du har lärt dig:
- Att API Gateway fungerar som en "ingång" för serverlösa applikationer.
- Att Lambda Proxy Integration förenklar överföringen av begäranden och svar.
- Vilket specifikt svarsformat din Lambda måste returnera.
- De konceptuella stegen för att definiera, distribuera och testa ditt API.
Denna kraftfulla kombination är grundläggande när du bygger serverlösa webb-API:er!
Lär dig Serverlös utveckling med AWS Lambda med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Anropa Lambda med API Gateway” gratis?
Ja – hela texten till ”Anropa Lambda med API Gateway” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Serverlös utveckling med AWS Lambda, kan Ni uppgradera till CoddyKit PRO. Kursen i Serverlös utveckling med AWS Lambda innehåller totalt 4 lektioner.
Vad lär jag mig i ”Anropa Lambda med API Gateway”?
Konfigurera API Gateway som en HTTP-slutpunkt för dina Lambda-funktioner så att de kan hantera webbförfrågningar och bygga RESTful API:er Ni övar på Serverlös utveckling med AWS Lambda med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Serverlös utveckling med AWS Lambda?
Du behöver inga förkunskaper. Utbildningen i Serverlös utveckling med AWS Lambda på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Anropa Lambda med API Gateway”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Serverlös utveckling med AWS Lambda-lektionen?
Ja. Varje Serverlös utveckling med AWS Lambda-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Grunderna i händelsestyrd arkitektur
- Anropa Lambda med API Gateway
- Händelseutlösare för S3 och SQS
- Schemalagda anrop med EventBridge