0Pricing
AWS Solutions Architect · Lektion

Integrationen: Lambda, HTTP und Mock

Verbinden Sie API-Gateway-Methoden mit Lambda-Proxy-Integrationen, vorgelagerten HTTP-Endpunkten und Mock-Integrationen zum Testen.

Integrationen: Lambda, HTTP und Mock ist eine kostenlose AWS Solutions Architect-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des AWS Solutions Architect-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der AWS Solutions Architect-Kurs umfasst insgesamt 4 Lektionen.

Überblick über die Integrationstypen von API Gateway

Jede API-Gateway-Methode benötigt eine Backend-Integration – ein System, das die Anfrage verarbeitet und eine Antwort zurückgibt. API Gateway unterstützt fünf Integrationstypen: Lambda Proxy, Lambda Custom, HTTP Proxy, HTTP Custom und Mock. HTTP APIs unterstützen nur Lambda Proxy und HTTP Proxy. REST APIs unterstützen alle fünf. Die Wahl der richtigen Integration bestimmt, wie viel Kontrolle Sie über die Transformation von Anfrage und Antwort haben.

Lambda-Proxy-Integration

Bei der Lambda-Proxy-Integration übergibt API Gateway die vollständige HTTP-Anfrage als strukturiertes Ereignisobjekt an Lambda, einschließlich Headern, Abfragezeichenfolgen, Pfadparametern, Body und Kontext. Ihre Lambda-Funktion muss ein korrekt formatiertes Antwortobjekt mit statusCode, headers und body zurückgeben. Dies ist das einfachste und am häufigsten verwendete Muster: Es sind keine Mapping-Vorlagen erforderlich, und Ihre Lambda-Funktion steuert die vollständige Antwort.

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-(Custom-)Integration

Bei der Lambda Non-Proxy-Integration (Custom-Integration) verwendet API Gateway Mapping-Vorlagen (Apache Velocity Template Language, VTL), um die Anfrage vor der Übermittlung an Lambda zu transformieren, und transformiert die Lambda-Antwort vor der Rückgabe an den Client. Ihre Lambda-Funktion erhält eine saubere, benutzerdefinierte Nutzlast statt des unverarbeiteten API-Gateway-Ereignisses. Dadurch werden Transportaspekte von der Geschäftslogik getrennt, allerdings müssen VTL-Vorlagen gepflegt werden. Verwenden Sie eine Custom-Integration, wenn Sie eine strikt getrennte API-Backend-Vertragsschnittstelle wünschen.

## Integration Request Mapping Template (VTL)
#set($inputRoot = $input.path('$'))
{
  'userId': '$input.params('userId')',
  'action': '$inputRoot.action',
  'timestamp': '$context.requestTime'
}

HTTP-Proxy-Integration

Die HTTP-Proxy-Integration leitet Anfragen ohne Transformation direkt an einen externen HTTP-Endpunkt weiter (beispielsweise eine EC2-Instance, einen ALB, einen lokalen Server oder eine beliebige öffentliche URL). API Gateway reicht die Anfrage durch und gibt die Antwort des Backends an den Client zurück. Dies ist ideal, um vorhandene REST-Backends hinter API Gateway zu migrieren und Drosselung, Überwachung und API-Schlüssel hinzuzufügen, ohne den Backend-Code zu ändern. HTTPS-Backends mit Zertifikatsprüfung werden unterstützt.

# 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-(Non-Proxy-)Integration

Die HTTP Custom-Integration leitet Anfragen ebenfalls an einen externen HTTP-Endpunkt weiter, verwendet jedoch Mapping-Vorlagen, um sowohl die Anfrage an das Backend als auch die zurückkommende Antwort zu transformieren. Dies ist nützlich, wenn die Schnittstelle von API Gateway und die Backend-API unterschiedliche Verträge haben – Sie können einen REST-API-Aufruf in ein älteres SOAP- oder benutzerdefiniertes Format übersetzen und die Backend-Antwort für den Client wieder in eine saubere JSON-Struktur umwandeln. Dies erhöht die Komplexität, bietet aber die größte Kontrolle bei Legacy-Integrationen.

AWS-Service-Integration

Eine AWS-Service-Integration verbindet API Gateway direkt mit AWS-Services, ohne dass Lambda zwischengeschaltet ist. Sie können beispielsweise einen POST-Endpunkt konfigurieren, der direkt eine Nachricht in SQS schreibt, eine Nachricht in SNS veröffentlicht oder eine Step-Functions-Ausführung startet. Dadurch werden die Latenz reduziert und Lambda-Funktionskosten für einfache Routing-Operationen vermieden. Für die Integration sind eine IAM-Rollenkonfiguration und Mapping-Vorlagen erforderlich, um den AWS-API-Aufruf korrekt zu formatieren.

# 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.body

Mock-Integration für Entwicklung und Tests

Mock-Integration konfiguriert API Gateway so, dass eine vordefinierte Antwort zurückgegeben wird, ohne ein Backend aufzurufen. Sie definieren die Antwort in der Mapping-Vorlage für die Integrationsantwort. Mock-Integrationen eignen sich ideal für: die API-Entwicklung, bevor das Backend erstellt ist (Frontend-Teams können sofort beginnen), Unit-Tests von API-Konfigurationen, die Rückgabe standardisierter CORS-Header oder die Bereitstellung eines Stubs für Drittanbieter während der Entwicklung. Mock-Endpunkte können auch verwendet werden, um veraltete API-Versionen zu sperren, indem sie 410 Gone zurückgeben.

# 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 template

CORS-Konfiguration in API Gateway

CORS (Cross-Origin Resource Sharing) muss aktiviert werden, wenn ein Browser-Client von einer Domain aus Ihre API auf einer anderen Domain aufruft. HTTP API bietet eine CORS-Konfiguration mit nur einem Klick; bei REST API müssen Sie eine OPTIONS-Methode mit einer Mock-Integration erstellen, die die erforderlichen CORS-Header zurückgibt (Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers). Bei einer Lambda-Proxy-Integration muss Ihre Lambda-Funktion die CORS-Header ebenfalls in ihrer Antwort zurückgeben.

# 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"]
  }'

Anforderungsvalidierung in REST API

REST API unterstützt die Anforderungsvalidierung: API Gateway kann prüfen, ob erforderliche Query-String-Parameter, Header und das Schema des Anforderungstexts vorhanden und korrekt formatiert sind, bevor das Backend aufgerufen wird. Dadurch werden unnötige Lambda-Aufrufe aufgrund fehlerhaft formatierter Anforderungen reduziert, und standardisierte 400-Fehler werden automatisch zurückgegeben. Definieren Sie mithilfe von JSON Schema ein Anforderungsmodell und verknüpfen Sie es mit der Methode, um die Validierung des Anforderungstexts zu aktivieren. Die Anforderungsvalidierung ist in HTTP API nicht verfügbar.

Timeouts von Integrationen

API Gateway verwendet standardmäßig ein Integrations-Timeout von 29 Sekunden für REST API und HTTP API (das Maximum für REST API, fest für HTTP-API-Proxy-Integrationen). Wenn Ihr Backend länger als 29 Sekunden benötigt, gibt API Gateway den Fehler 504 Gateway Timeout zurück. Das bedeutet, dass Lambda-Funktionen, die synchron über API Gateway aufgerufen werden, innerhalb von 29 Sekunden abgeschlossen sein müssen, obwohl Lambda selbst Timeouts von bis zu 15 Minuten unterstützt. Verwenden Sie für lang laufende Vorgänge ein asynchrones Muster: API Gateway löst Lambda aus, Lambda startet einen asynchronen Auftrag und gibt sofort eine Auftrags-ID zurück.

Den richtigen Integrationstyp auswählen

Entscheidungshilfe für Integrationstypen: Lambda Proxy: am häufigsten verwendet, am einfachsten, vollständige Kontrolle über die Anforderung in Lambda; Lambda Custom: wenn Sie eine Transformation von Anforderung und Antwort auf der Gateway-Ebene benötigen; HTTP Proxy: für vorhandene HTTP-Backends und Migrationsszenarien; HTTP Custom: zur Übersetzung von Legacy-API-Formaten; AWS Service: um Lambda bei einfachem Routing zu SQS/SNS/DynamoDB überflüssig zu machen; Mock: für Entwicklungs-Stubs und CORS-Preflight-Anforderungen. Für die Prüfung SAA-C03 werden Lambda Proxy und HTTP Proxy am häufigsten als Muster abgefragt.

Schnelltest

Testen Sie Ihr Verständnis der AWS-Solutions-Architect-Konzepte (SAA-C03) aus dieser Lektion.

Zusammenfassung der Lektion

In dieser Lektion haben Sie gelernt: Eine Lambda-Proxy-Integration übergibt die vollständige Anforderung an Lambda, das die Antwort steuert – dies ist die einfachste und am häufigsten verwendete Integration. HTTP Proxy leitet Anforderungen an vorhandene HTTP-Backends weiter, um API-Gateway-Funktionen hinzuzufügen, ohne das Backend zu ändern. Eine Mock-Integration gibt vordefinierte Antworten für die Frontend-Entwicklung und Tests zurück, ohne dass eine Backend-Infrastruktur erforderlich ist. Als Nächstes behandeln wir die Autorisierung in API Gateway mit IAM, Lambda-Authorizern und Cognito.

Häufig gestellte Fragen

Ist die Lektion „Integrationen: Lambda, HTTP und Mock“ kostenlos?

Ja — der vollständige Text von „Integrationen: Lambda, HTTP und Mock“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des AWS Solutions Architect-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der AWS Solutions Architect-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Integrationen: Lambda, HTTP und Mock“?

Verbinden Sie API-Gateway-Methoden mit Lambda-Proxy-Integrationen, vorgelagerten HTTP-Endpunkten und Mock-Integrationen zum Testen. Du übst AWS Solutions Architect mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um AWS Solutions Architect zu starten?

Keine Vorkenntnisse erforderlich. AWS Solutions Architect auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Integrationen: Lambda, HTTP und Mock“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser AWS Solutions Architect-Lektion Code schreiben und ausführen?

Ja. Jede AWS Solutions Architect-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. REST API vs. HTTP API vs. WebSocket API
  2. Integrationen: Lambda, HTTP und Mock
  3. Autorisierung: IAM, Lambda Authorizers und Cognito
  4. Drosselung, Caching und Nutzungspläne
← Zurück zu AWS Solutions Architect