Serverlös backend med AWS Lambda & API Gateway · Lektion

Första Lambda-funktionen (Python)

Skriv och distribuera Er allra första AWS Lambda-funktion med Python och lär Er grundläggande struktur och exekveringsmodell.

Lektion 3 av 412 steg

Första Lambda-funktionen (Python) är en gratis lektion i Serverlös backend med AWS Lambda & API Gateway på CoddyKit. Detta är lektion 3 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 backend med AWS Lambda & API Gateway, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Serverlös backend med AWS Lambda & API Gateway innehåller totalt 4 lektioner.

Välkommen till AWS Lambda!

Det är dags för din första funktion. AWS Lambda är Function as a Service: ladda upp kod så kör Lambda den utan att du behöver etablera några servrar.

Varför Python för Lambda?

Python är en utmärkt runtime för Lambda — lättläst, med omfattande bibliotek och perfekt för API:er, databearbetning och automatisering. Dessutom är det nybörjarvänligt.

Lambdas handler-funktion

Varje Lambda behöver en startpunkt: handlern. Lambda anropar den med två argument — event (indata) och context (information om runtime-miljön).

Din första Python-Lambda

Här är en minimal "Hello World"-Lambda. All din logik finns i lambda_handler — kör den lokalt för att få en känsla för strukturen.

import json

def lambda_handler(event, context):
    # Your function's logic goes here
    message = "Hello from your first Lambda!"
    
    # Lambda functions typically return a dictionary
    return {
        'statusCode': 200,
        'body': json.dumps(message)
    }

# This block allows you to test your function locally
if __name__ == "__main__":
    # Simulate an empty event and context for a simple test
    mock_event = {}
    mock_context = None
    response = lambda_handler(mock_event, mock_context)
    print("Local Test Response:", response)

Förstå 'event'

Parametern event innehåller indatan som utlöste funktionen. Den levereras som JSON och omvandlas till en Python-dict — exempelvis ett API-anrop, en S3-uppladdning eller ett kömeddelande.

Kod: Läsa från event

Läs nu ett namn från event och använd ett standardvärde om det saknas. Lägg märke till event.get('key', default), som ger säker åtkomst utan KeyErrors.

import json

def lambda_handler(event, context):
    # Get 'name' from the event, or default to 'there'
    name = event.get('name', 'there') 
    message = f"Hello, {name} from Lambda!"
    
    return {
        'statusCode': 200,
        'body': json.dumps(message)
    }

# Local testing with different events
if __name__ == "__main__":
    mock_event_with_name = {"name": "CoddyKit User"}
    response_with_name = lambda_handler(mock_event_with_name, None)
    print("With name:", response_with_name)

    mock_event_no_name = {}
    response_no_name = lambda_handler(mock_event_no_name, None)
    print("Without name:", response_no_name)

Objektet 'context'

Objektet context ger tillgång till runtime-information som aws_request_id, function_name och återstående körtid. Det är praktiskt även om du ofta inte använder det.

Returnera ett standardsvar

När API Gateway utlöser din funktion förväntar den sig en viss struktur: en statusCode och en body som är en JSON-sträng. På så sätt får klienten ett tydligt svar.

Kod: Komplett API-svar

Här är ett mer komplett, API-färdigt svar med en Content-Type-header och en strukturerad JSON-body. Vi simulerar en context för lokal testning.

import json

def lambda_handler(event, context):
    name = event.get('name', 'World')
    
    # Simulate a context object for local testing
    request_id = getattr(context, 'aws_request_id', 'local-test-id')

    response_message = f"Greetings, {name}! Your request ID is {request_id}."

    return {
        'statusCode': 200,
        'headers': {
            'Content-Type': 'application/json'
        },
        'body': json.dumps({
            'message': response_message,
            'input_data': event # Echoing input for demonstration
        })
    }

# Local testing with a dummy context
if __name__ == "__main__":
    class MockContext:
        aws_request_id = 'mock-request-123'

    mock_event = {"name": "CoddyKit"}
    mock_context_obj = MockContext()
    response = lambda_handler(mock_event, mock_context_obj)
    print("Full API Response:", response)

Så kör Lambda din kod

Vid varje händelse startar Lambda en container (eller återanvänder en befintlig), läser in din kod, anropar handlern, kör den och returnerar resultatet — sedan väntar den eller stängs ner.

Snabb kontroll

Vilket av följande beskriver bäst syftet med parametern event i en Python-Lambda-handlersfunktion?

Sammanfattning: Din första Lambda!

Sammanfattning: Lambda kör kod utan servrar. Handlern är din startpunkt, event innehåller indata som en dict, context ger runtime-information och du returnerar en statuskod och en JSON-body.

Gratis att börja

Lär dig Serverlös backend med AWS Lambda & API Gateway 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 ”Första Lambda-funktionen (Python)” gratis?

Ja – hela texten till ”Första Lambda-funktionen (Python)” 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 backend med AWS Lambda & API Gateway, kan Ni uppgradera till CoddyKit PRO. Kursen i Serverlös backend med AWS Lambda & API Gateway innehåller totalt 4 lektioner.

Vad lär jag mig i ”Första Lambda-funktionen (Python)”?

Skriv och distribuera Er allra första AWS Lambda-funktion med Python och lär Er grundläggande struktur och exekveringsmodell. Ni övar på Serverlös backend med AWS Lambda & API Gateway 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 backend med AWS Lambda & API Gateway?

Du behöver inga förkunskaper. Utbildningen i Serverlös backend med AWS Lambda & API Gateway 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 3 av 4.

Hur lång tid tar lektionen ”Första Lambda-funktionen (Python)”?

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 backend med AWS Lambda & API Gateway-lektionen?

Ja. Varje Serverlös backend med AWS Lambda & API Gateway-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

  1. Vad är serverless?
  2. Översikt över AWS kärntjänster
  3. Första Lambda-funktionen (Python)
  4. Förstå serverless-körningsmodellen
← Tillbaka till Serverlös backend med AWS Lambda & API Gateway