Cloud & IT Cert Prep · leksjon

Integrasjoner: Lambda, HTTP og Mock

Koble API Gateway-metoder til Lambda-proxyintegrasjoner, oppstrøms HTTP-endepunkter og mock-integrasjoner for testing.

Leksjon 2 av 413 trinn

Integrasjoner: Lambda, HTTP og Mock er en gratis leksjon i Cloud & IT Cert Prep på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Cloud & IT Cert Prep, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Cloud & IT Cert Prep inneholder totalt 4 leksjoner.

Oversikt over integrasjonstyper i API Gateway

Hver API Gateway-metode trenger en backend-integrasjon – systemet som behandler forespørselen og returnerer et svar. API Gateway støtter fem integrasjonstyper: Lambda Proxy, Lambda Custom, HTTP Proxy, HTTP Custom og Mock. HTTP API-er støtter bare Lambda Proxy og HTTP Proxy. REST API-er støtter alle fem. Valget av integrasjon avgjør hvor mye kontroll De har over transformasjonen av forespørsler og svar.

Lambda Proxy-integrasjon

Med Lambda Proxy-integrasjon sender API Gateway hele HTTP-forespørselen til Lambda som et strukturert hendelsesobjekt med overskrifter, spørrestrenger, baneparametere, brødtekst og kontekst. Lambda-funksjonen Deres har ansvaret for å returnere et korrekt formatert svarobjekt med statusCode, headers og body. Dette er det enkleste og vanligste mønsteret – ingen mapping templates er nødvendig, og Lambda-funksjonen har full kontroll over svaret.

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

Med Lambda Non-Proxy (egendefinert integrasjon) bruker API Gateway mapping templates (Apache Velocity Template Language, VTL) til å transformere forespørselen før den sendes til Lambda, og transformerer Lambdas svar før det returneres til klienten. Lambda-funksjonen Deres mottar en ryddig, egendefinert nyttelast – ikke det rå API Gateway-hendelsesobjektet. Dette skiller transporthensyn fra forretningslogikk, men krever vedlikehold av VTL-maler. Bruk egendefinert integrasjon når De ønsker et tydelig skille mellom API-kontrakten og backend-kontrakten.

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

HTTP Proxy-integrasjon

HTTP Proxy-integrasjon videresender forespørsler direkte til et eksternt HTTP-endepunkt (for eksempel en EC2-instans, en ALB, en lokal server eller en offentlig URL) uten transformasjon. API Gateway sender forespørselen videre og returnerer backend-systemets svar til klienten. Dette egner seg godt når eksisterende REST-backend-systemer skal flyttes bak API Gateway for å få hastighetsbegrensning, overvåking og API-nøkler uten at backend-koden må endres. HTTPS-backend-systemer med sertifikatverifisering støttes.

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

HTTP Custom-integrasjon videresender også til et eksternt HTTP-endepunkt, men bruker mapping templates til å transformere både forespørselen som sendes til backend-systemet og svaret som kommer tilbake. Dette er nyttig når API Gateway-grensesnittet og backend-API-et har ulike kontrakter – De kan oversette et REST API-kall til et eldre SOAP- eller egendefinert format og transformere backend-svaret tilbake til en ryddig JSON-struktur for klienten. Dette gir økt kompleksitet, men mest kontroll over eldre integrasjoner.

AWS-tjenesteintegrasjon

AWS Service-integrasjon kobler API Gateway direkte til AWS-tjenester uten et mellomliggende Lambda-lag. De kan for eksempel konfigurere et POST-endepunkt som skriver en melding direkte til SQS, publiserer til SNS eller starter en Step Functions-kjøring. Dette reduserer latenstiden og eliminerer Lambda-funksjonskostnader for enkle rutingsoperasjoner. Integrasjonen krever konfigurasjon av en IAM-rolle og mapping templates for å formatere AWS API-kallet korrekt.

# 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-integrasjon for utvikling og testing

Mock-integrasjon konfigurerer API Gateway til å returnere et forhåndsdefinert svar uten å kalle en backend. De definerer svaret i malen for tilordning av integrasjonssvaret. Mock-integrasjoner egner seg perfekt til: API-utvikling før backend er bygget (frontend-team kan komme i gang umiddelbart), enhetstesting av API-konfigurasjoner, returnering av standardiserte CORS-headere eller som en stub for tredjepartspartnere under utvikling. Mock-endepunkter kan også brukes til å blokkere utdaterte API-versjoner ved å returnere 410 Gone.

# 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-konfigurasjon i API Gateway

CORS (Cross-Origin Resource Sharing) må aktiveres når en nettleserklient på ett domene kaller API-et på et annet domene. HTTP API har et ettklikksoppsett for CORS, mens REST API krever at De oppretter en OPTIONS-metode med en Mock-integrasjon som returnerer de nødvendige CORS-headerne (Access-Control-Allow-Origin, Access-Control-Allow-Methods, Access-Control-Allow-Headers). Lambda-proxy-integrasjon krever også at Lambda returnerer CORS-headere i svaret.

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

Validering av forespørsler i REST API

REST API støtter validering av forespørsler: API Gateway kan kontrollere at obligatoriske spørringsparametere, headere og skjemaet for forespørselskroppen finnes og har riktig format – før backend kalles. Dette reduserer unødvendige Lambda-kall som skyldes feilformaterte forespørsler, og returnerer automatisk standardiserte 400-feil. Definer en forespørselsmodell ved hjelp av JSON Schema, og knytt den til metoden for å aktivere validering av forespørselskroppen. Validering av forespørsler er ikke tilgjengelig i HTTP API.

Tidsavbrudd for integrasjoner

API Gateway har et standardisert tidsavbrudd for integrasjoner på 29 sekunder for REST API og HTTP API (maksimum for REST API, fast verdi for HTTP API-proxy). Hvis backend bruker mer enn 29 sekunder, returnerer API Gateway feilen 504 Gateway Timeout. Det betyr at Lambda-funksjoner som kalles synkront gjennom API Gateway, må fullføre innen 29 sekunder – selv om Lambda selv støtter tidsavbrudd på 15 minutter. For langvarige operasjoner bør De bruke et asynkront mønster: API Gateway utløser Lambda, som starter en asynkron jobb og returnerer en jobb-ID umiddelbart.

Velge riktig integrasjonstype

Veiledning for valg av integrasjonstype: Lambda Proxy: vanligst og enklest, med full kontroll over forespørselen i Lambda; Lambda Custom: når De trenger transformasjon av forespørsel eller svar i gateway-laget; HTTP Proxy: for eksisterende HTTP-backendløsninger og migreringsscenarier; HTTP Custom: for oversettelse av formater fra eldre API-er; AWS Service: for å eliminere Lambda ved enkel ruting til SQS/SNS/DynamoDB; Mock: for utviklingsstubber og CORS-preflight. På SAA-C03-eksamen er Lambda Proxy og HTTP Proxy de vanligste mønstrene som testes.

Hurtigsjekk

Test forståelsen Deres av AWS Solutions Architect-konseptene (SAA-C03) fra denne leksjonen.

Oppsummering av leksjonen

I denne leksjonen har De lært at Lambda Proxy-integrasjon sender hele forespørselen til Lambda, som styrer svaret – dette er den enkleste og vanligste integrasjonen; HTTP Proxy videresender forespørsler til eksisterende HTTP-backendløsninger, slik at De kan legge til API Gateway-funksjoner uten å endre backend; og Mock-integrasjon returnerer forhåndsdefinerte svar for frontend-utvikling og testing uten backend-infrastruktur. Deretter skal vi se nærmere på autorisering i API Gateway med IAM, Lambda-authorizere og Cognito.

Gratis å komme i gang

Lær deg Cloud & IT Cert Prep med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
150
Leksjoner
600

Ofte stilte spørsmål

Er leksjonen «Integrasjoner: Lambda, HTTP og Mock» gratis?

Ja – hele teksten i «Integrasjoner: Lambda, HTTP og Mock» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Cloud & IT Cert Prep-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Cloud & IT Cert Prep inneholder totalt 4 leksjoner.

Hva lærer jeg i «Integrasjoner: Lambda, HTTP og Mock»?

Koble API Gateway-metoder til Lambda-proxyintegrasjoner, oppstrøms HTTP-endepunkter og mock-integrasjoner for testing. Du øver på Cloud & IT Cert Prep med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Cloud & IT Cert Prep?

Ingen tidligere erfaring er nødvendig. Cloud & IT Cert Prep på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.

Hvor lang tid tar leksjonen «Integrasjoner: Lambda, HTTP og Mock»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Cloud & IT Cert Prep-leksjonen?

Ja. Alle Cloud & IT Cert Prep-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. REST API vs HTTP API vs WebSocket API
  2. Integrasjoner: Lambda, HTTP og Mock
  3. Autorisasjon: IAM, Lambda-authorizers og Cognito
  4. Begrensning, caching og bruksplaner
← Tilbake til Cloud & IT Cert Prep