AWS voor backendontwikkelaars (EC2, S3, RDS, Lambda) · Les

API Gateway voor Lambda-endpoints

Bouw schaalbare en veilige RESTful API's door AWS Lambda te integreren met Amazon API Gateway en authenticatie en request/response-mapping te beheren.

Les 3 van 412 stappen

API Gateway voor Lambda-endpoints is een gratis AWS voor backendontwikkelaars (EC2, S3, RDS, Lambda)-les op CoddyKit. Dit is les 3 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 voor backendontwikkelaars (EC2, S3, RDS, Lambda). Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus AWS voor backendontwikkelaars (EC2, S3, RDS, Lambda) bevat in totaal 4 lessen.

API Gateway en Lambda: het duo

Welkom! In deze les verbinden we AWS Lambda met Amazon API Gateway. Met deze krachtige combinatie kun je schaalbare, serverloze API's bouwen zonder servers te beheren.

Je kunt API Gateway zien als de voordeur van je toepassingen, die aanvragen doorstuurt naar de juiste backendservice, vaak een Lambda-functie.

Waarom API Gateway gebruiken?

API Gateway biedt verschillende voordelen wanneer je Lambda-functies beschikbaar maakt:

  • Schaalbaarheid: Verwerkt duizenden gelijktijdige API-aanroepen.
  • Verkeersbeheer: Beheert verkeer, inclusief beperking en caching.
  • Beveiliging: Biedt ingebouwde authenticatie en autorisatie.
  • Bewaking: Integreert met CloudWatch voor logging en bewaking.

De kernfunctie van API Gateway

API Gateway fungeert als een "proxy" tussen clients, zoals webbrowsers of mobiele apps, en je backendservices, zoals Lambda-functies.

Het ontvangt binnenkomende HTTP-aanvragen, zet deze indien nodig om, roept je Lambda-functie aan en stuurt het antwoord van de functie vervolgens terug naar de client.

Je eerste API instellen

Om een API Gateway-eindpunt voor Lambda te maken, definieer je:

  • Bronnen: De URL-paden, zoals /items en /users.
  • Methoden: De HTTP-werkwoorden (GET, POST, PUT, DELETE) voor elke bron.
  • Integratie: De backendservice, in ons geval onze Lambda-functie, die door de methode wordt aangeroepen.

Bekijk een eenvoudige Lambda-functie die door API Gateway kan worden aangeroepen.

Elementaire Lambda voor API Gateway

Deze Python-Lambda-functie is ontworpen om door API Gateway te worden geactiveerd. De functie verwacht een gebeurtenisobject met details over de HTTP-aanvraag en retourneert een woordenboek met statusCode en body voor het API-antwoord.

import json

def lambda_handler(event, context):
    # Print the incoming event for debugging
    print(f"Received event: {json.dumps(event)}")

    # Extract query parameters if present
    name = event.get('queryStringParameters', {}).get('name', 'World')

    response_body = {
        "message": f"Hello, {name} from Lambda!",
        "input": event
    }

    return {
        "statusCode": 200,
        "headers": {
            "Content-Type": "application/json"
        },
        "body": json.dumps(response_body)
    }

Toewijzing van aanvragen en antwoorden

API Gateway kan aanvragen omzetten voordat deze naar Lambda worden gestuurd en antwoorden omzetten voordat deze naar de client worden teruggestuurd.

Dit is belangrijk voor:

  • Het omzetten van aanvraagteksten naar een indeling die je Lambda verwacht.
  • Het overnemen van padparameters of headers in het Lambda-gebeurtenisobject.
  • Het omzetten van de uitvoer van Lambda naar een standaard HTTP-antwoord.

Padparameters openen

Stel dat je API een pad heeft zoals /users/{userId}. API Gateway kan userId rechtstreeks vanuit het URL-pad toewijzen aan het event-object van je Lambda.

Je Lambda kan deze vervolgens openen via event['pathParameters']['userId'].

Opties voor API-authenticatie

API Gateway biedt uitgebreide beveiligingsopties:

  • IAM-rollen en -beleidsregels: Beheer toegang met AWS Identity and Access Management.
  • Lambda-autorisatoren: Gebruik een Lambda-functie om aangepaste tokens, zoals JWT's, te valideren voordat je hoofd-Lambda wordt aangeroepen.
  • Cognito-gebruikersgroepen: Integreer met Amazon Cognito voor authenticatie en autorisatie van gebruikers.

Aangepaste authenticatie met Lambda-autorisatoren

Een Lambda-autorisator is een afzonderlijke Lambda-functie die API Gateway vóór je hoofdfunctie aanroept.

Deze controleert de token van de binnenkomende aanvraag, bijvoorbeeld in een header, en retourneert bij een geldige token een IAM-beleidsregel die toegang tot je API-bronnen toestaat of weigert. Dit is krachtig voor aangepaste authenticatielogica.

Tips voor API Gateway en Lambda

Houd voor efficiënte API's rekening met het volgende:

  • Kleine Lambda-functies: Laat functies zich richten op één taak.
  • Foutafhandeling: Implementeer robuuste foutafhandeling in Lambda en configureer API Gateway om betekenisvolle foutmeldingen terug te geven.
  • Caching: Gebruik de caching van API Gateway om latentie en het aantal Lambda-aanroepen te verminderen.
  • Fasen: Gebruik API Gateway-fasen, zoals dev en prod, voor versiebeheer en beheer van implementaties.

Functies van API Gateway

Welke van de volgende zijn belangrijke functies of voordelen van het gebruik van Amazon API Gateway om AWS Lambda-functies beschikbaar te maken?

Samenvatting: API Gateway en Lambda

We hebben geleerd dat Amazon API Gateway fungeert als toegangspunt voor je serverloze toepassingen en HTTP-aanvragen doorstuurt naar AWS Lambda-functies.

Je begrijpt nu de voordelen ervan, hoe je eenvoudige integraties configureert, aanvragen en antwoorden toewijst en je API's beveiligt met verschillende authenticatiemethoden, waaronder Lambda-autorisatoren. Deze combinatie vormt de basis voor het bouwen van moderne, schaalbare backends!

Gratis beginnen

Leer AWS voor backendontwikkelaars (EC2, S3, RDS, Lambda) 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
12
Lessen
48

Veelgestelde vragen

Is de les “API Gateway voor Lambda-endpoints” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad AWS voor backendontwikkelaars (EC2, S3, RDS, Lambda), waaronder “API Gateway voor Lambda-endpoints”, 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 voor backendontwikkelaars (EC2, S3, RDS, Lambda) bevat in totaal 4 lessen.

Wat leer ik in “API Gateway voor Lambda-endpoints”?

Bouw schaalbare en veilige RESTful API's door AWS Lambda te integreren met Amazon API Gateway en authenticatie en request/response-mapping te beheren. Je oefent met AWS voor backendontwikkelaars (EC2, S3, RDS, Lambda) 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 voor backendontwikkelaars (EC2, S3, RDS, Lambda) te beginnen?

Ervaring vooraf is niet nodig. AWS voor backendontwikkelaars (EC2, S3, RDS, Lambda) 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 3 van 4.

Hoe lang duurt de les “API Gateway voor Lambda-endpoints”?

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 voor backendontwikkelaars (EC2, S3, RDS, Lambda)?

Ja. Elke les over AWS voor backendontwikkelaars (EC2, S3, RDS, Lambda) 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

  1. Asynchrone Lambda-aanroep
  2. Lambda-lagen en omgevingsvariabelen
  3. API Gateway voor Lambda-endpoints
  4. Step Functions voor Lambda-orchestratie
← Terug naar AWS voor backendontwikkelaars (EC2, S3, RDS, Lambda)