Integraties: Lambda, HTTP en Mock
Koppel API Gateway-methoden aan Lambda-proxy-integraties, upstream HTTP-endpoints en mock-integraties voor tests.
Integraties: Lambda, HTTP en Mock is een gratis AWS Solutions Architect-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject AWS Solutions Architect. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AWS Solutions Architect bevat in totaal 4 lessen.
Overzicht van integratietypen voor API Gateway
Elke API Gateway-methode heeft een backendintegratie nodig: het systeem dat het verzoek verwerkt en een antwoord retourneert. API Gateway ondersteunt vijf integratietypen: Lambda Proxy, Lambda Custom, HTTP Proxy, HTTP Custom en Mock. HTTP API's ondersteunen alleen Lambda Proxy en HTTP Proxy. REST API's ondersteunen alle vijf. De keuze van de juiste integratie bepaalt hoeveel controle je hebt over de transformatie van het verzoek en het antwoord.
Lambda Proxy-integratie
Bij een Lambda Proxy-integratie geeft API Gateway het volledige HTTP-verzoek door aan Lambda als een gestructureerd gebeurtenisobject met onder andere headers, querytekenreeksen, padparameters, berichttekst en context. Je Lambda-functie moet een correct opgemaakt antwoordobject retourneren met statusCode, headers en body. Dit is het eenvoudigste en meest gebruikelijke patroon: je hebt geen toewijzingssjablonen nodig en je Lambda beheert het volledige antwoord.
def lambda_handler(event, context):
# event.httpMethod, event.path, event.queryStringParameters
# event.headers, event.body
user_id = event['pathParameters']['userId']
return {
'statusCode': 200,
'headers': {'Content-Type': 'application/json'},
'body': '{"userId": "' + user_id + '", "name": "Alice"}'
}Lambda Non-Proxy-integratie (aangepast)
Bij een Lambda Non-Proxy-integratie (aangepaste integratie) gebruikt API Gateway toewijzingssjablonen (Apache Velocity Template Language, VTL) om het verzoek te transformeren voordat het naar Lambda wordt verzonden, en om het antwoord van Lambda te transformeren voordat het naar de client wordt teruggestuurd. Je Lambda-functie ontvangt een aangepaste, overzichtelijke payload, niet de onbewerkte API Gateway-gebeurtenis. Hierdoor worden transportaangelegenheden gescheiden van de bedrijfslogica, maar je moet wel VTL-sjablonen onderhouden. Gebruik een aangepaste integratie wanneer je een strikte scheiding tussen het API- en backend-contract wilt.
## Integration Request Mapping Template (VTL)
#set($inputRoot = $input.path('$'))
{
'userId': '$input.params('userId')',
'action': '$inputRoot.action',
'timestamp': '$context.requestTime'
}HTTP Proxy-integratie
Een HTTP Proxy-integratie stuurt verzoeken rechtstreeks door naar een extern HTTP-eindpunt (bijvoorbeeld een EC2-instantie, ALB, on-premises server of openbare URL) zonder transformatie. API Gateway geeft het verzoek door en retourneert het antwoord van de backend aan de client. Dit is ideaal om bestaande REST-backends achter API Gateway te plaatsen en snelheidsbeperking, bewaking en API-sleutels toe te voegen zonder de backendcode te wijzigen. HTTPS-backends met certificaatverificatie worden ondersteund.
# Create HTTP proxy integration via REST API
aws apigateway put-integration \
--rest-api-id 'abc123' \
--resource-id 'xyz789' \
--http-method GET \
--type HTTP_PROXY \
--integration-http-method GET \
--uri 'https://my-backend.example.com/api/users/{userId}'HTTP Custom-integratie (Non-Proxy)
Een HTTP Custom-integratie stuurt verzoeken ook door naar een extern HTTP-eindpunt, maar gebruikt toewijzingssjablonen om zowel het verzoek naar de backend als het terugkerende antwoord te transformeren. Dit is nuttig wanneer de API Gateway-interface en de backend-API verschillende contracten hebben. Je kunt een REST API-aanroep vertalen naar een verouderd SOAP- of aangepast formaat en het backendantwoord weer transformeren naar een overzichtelijke JSON-structuur voor de client. Dit maakt de oplossing complexer, maar biedt de meeste controle voor verouderde integraties.
AWS-service-integratie
Een AWS Service-integratie verbindt API Gateway rechtstreeks met AWS-services, zonder tussenkomst van Lambda. Je kunt bijvoorbeeld een POST-eindpunt configureren dat rechtstreeks een bericht naar SQS schrijft, naar SNS publiceert of een uitvoering van Step Functions start. Dit verlaagt de latentie en elimineert Lambda-functiekosten voor eenvoudige routeringsbewerkingen. Voor de integratie zijn configuratie van een IAM-rol en toewijzingssjablonen nodig om de AWS API-aanroep correct op te maken.
# Direct API Gateway → SQS integration
# Integration Request URI:
https://sqs.us-east-1.amazonaws.com/123456789012/MyQueue
# Integration Request Body Mapping Template:
Action=SendMessage&MessageBody=$input.bodyMockintegratie voor ontwikkeling en testen
Mockintegratie configureert API Gateway zo dat deze een vooraf gedefinieerd antwoord retourneert zonder een backend aan te roepen. Je definieert het antwoord in de sjabloon voor de integratieantwoordtoewijzing. Mockintegraties zijn ideaal voor: API-ontwikkeling voordat de backend is gebouwd (frontendteams kunnen direct beginnen), unit-tests van API-configuraties, het retourneren van standaard-CORS-headers of het bieden van een stub voor externe partners tijdens de ontwikkeling. Je kunt mock-eindpunten ook gebruiken om verouderde API-versies te blokkeren door 410 Gone te retourneren.
# Integration Response for Mock
# Integration Response Mapping Template:
{
'statusCode': 200,
'message': 'This is a mock response',
'timestamp': '$context.requestTime'
}
# Method Response: map status code 200 to this templateCORS-configuratie in API Gateway
CORS (bronnen delen tussen verschillende origins) moet zijn ingeschakeld wanneer een browserclient op het ene domein je API op een ander domein aanroept. HTTP API heeft een configuratie voor CORS met één klik; voor REST API moet je een OPTIONS-methode maken met een mockintegratie die de vereiste CORS-headers retourneert (Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers). Voor een Lambda-proxyintegratie moet je Lambda de CORS-headers ook in het antwoord retourneren.
# HTTP API CORS config (simple)
aws apigatewayv2 update-api \
--api-id 'abc123' \
--cors-configuration '{
"AllowOrigins": ["https://myapp.example.com"],
"AllowMethods": ["GET", "POST", "OPTIONS"],
"AllowHeaders": ["Content-Type", "Authorization"]
}'Validatie van aanvragen in REST API
REST API ondersteunt aanvraagvalidatie: API Gateway kan controleren of vereiste querystringparameters, headers en het schema van de aanvraagbody aanwezig en correct opgemaakt zijn voordat de backend wordt aangeroepen. Hierdoor worden onnodige Lambda-aanroepen door verkeerd opgemaakte aanvragen beperkt en worden gestandaardiseerde 400-fouten automatisch geretourneerd. Definieer een aanvraagmodel met JSON Schema en koppel dit aan de methode om validatie van de body in te schakelen. Aanvraagvalidatie is niet beschikbaar in HTTP API.
Timeouts voor integraties
API Gateway heeft een standaardintegratietime-out van 29 seconden voor REST API en HTTP API (het maximum voor REST API en een vaste waarde voor HTTP API-proxy's). Als je backend langer dan 29 seconden nodig heeft, retourneert API Gateway een foutmelding 504 Gateway Timeout. Dit betekent dat Lambda-functies die synchroon via API Gateway worden aangeroepen, binnen 29 seconden moeten zijn voltooid, ook al ondersteunt Lambda zelf time-outs van 15 minuten. Gebruik voor langlopende bewerkingen een asynchroon patroon: API Gateway activeert Lambda, die een asynchrone taak start en onmiddellijk een taak-ID retourneert.
Het juiste integratietype kiezen
Besliswijzer voor integratietypen: Lambda Proxy: meest gebruikelijk, eenvoudigst en met volledige controle over de aanvraag in Lambda; Lambda Custom: wanneer je transformatie van aanvraag en antwoord in de gatewaylaag nodig hebt; HTTP Proxy: voor bestaande HTTP-backends en migratiescenario's; HTTP Custom: voor het vertalen van indelingen van verouderde API's; AWS Service: om Lambda overbodig te maken voor eenvoudige routering naar SQS/SNS/DynamoDB; Mock: voor stubs tijdens de ontwikkeling en CORS-preflightaanvragen. Voor het SAA-C03-examen zijn Lambda Proxy en HTTP Proxy de patronen die het vaakst worden getoetst.
Snelle controle
Test je begrip van de concepten uit deze les voor AWS Solutions Architect (SAA-C03).
Samenvatting van de les
In deze les heb je geleerd dat een Lambda Proxy-integratie de volledige aanvraag doorgeeft aan Lambda, die het antwoord beheert — de eenvoudigste en meest gebruikelijke integratie; dat HTTP Proxy aanvragen doorstuurt naar bestaande HTTP-backends om API Gateway-functies toe te voegen zonder de backend te wijzigen; en dat een Mock-integratie vooraf gedefinieerde antwoorden retourneert voor frontendontwikkeling en -tests zonder backendinfrastructuur. Hierna bekijken we autorisatie van API Gateway met IAM, Lambda-autorisatiefuncties en Cognito.
Leer AWS Solutions Architect met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Integraties: Lambda, HTTP en Mock” gratis?
Ja — je kunt hier op het web alle 3 lessen van het leerpad AWS Solutions Architect, waaronder “Integraties: Lambda, HTTP en Mock”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus AWS Solutions Architect bevat in totaal 4 lessen.
Wat leer ik in “Integraties: Lambda, HTTP en Mock”?
Koppel API Gateway-methoden aan Lambda-proxy-integraties, upstream HTTP-endpoints en mock-integraties voor tests. Je oefent met AWS Solutions Architect door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met AWS Solutions Architect te beginnen?
Ervaring vooraf is niet nodig. AWS Solutions Architect op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Integraties: Lambda, HTTP en Mock”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over AWS Solutions Architect?
Ja. Elke les over AWS Solutions Architect bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- REST API versus HTTP API versus WebSocket API
- Integraties: Lambda, HTTP en Mock
- Autorisatie: IAM, Lambda Authorizers en Cognito
- Throttling, caching en usage plans