Serverløs backend med AWS Lambda og API Gateway · Lektion

Første Lambda-funktion (Python)

Skriv og implementér Deres allerførste AWS Lambda-funktion ved hjælp af Python, og lær den grundlæggende struktur og eksekveringsmodel.

Lektion 3 af 412 trin

Første Lambda-funktion (Python) er en gratis Serverløs backend med AWS Lambda og API Gateway-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Serverløs backend med AWS Lambda og API Gateway, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Serverløs backend med AWS Lambda og API Gateway-kurset indeholder 4 lektioner i alt.

Velkommen til AWS Lambda!

Tid til din første funktion. AWS Lambda er Function as a Service: Du uploader kode, og Lambda kører den uden servere, der skal klargøres.

Hvorfor Python til Lambda?

Python er et fremragende runtime-miljø til Lambda — sproget er læsbart, har omfattende biblioteker og egner sig perfekt til API'er, databehandling og automatisering. Det er også velegnet til begyndere.

Lambda-handlerfunktionen

Alle Lambda-funktioner har brug for et startpunkt: handleren. Lambda kalder den med to argumenter — event (inputdata) og context (oplysninger om runtime-miljøet).

Din første Python-Lambda

Her er en minimal "Hello World"-Lambda. Al din logik ligger i lambda_handler — kør den lokalt for at få en fornemmelse af 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)

Forstå 'event'

Parameteren event indeholder det input, der udløste din funktion. Det leveres som JSON og konverteres til en Python-ordbog — f.eks. et API-kald, en S3-upload eller en kømeddelelse.

Kode: Læsning fra event

Læs nu et navn fra event, og brug en standardværdi som fallback. Bemærk event.get('key', default), som giver sikker adgang uden 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 viser oplysninger om runtime-miljøet, f.eks. aws_request_id, function_name og den resterende udførelsestid. Det er nyttigt, selvom du ofte ikke bruger det.

Returnering af et standardsvar

Når API Gateway udløser din funktion, forventer den en bestemt struktur: en statusCode og en body, der er en JSON-streng. På den måde får klienten et tydeligt svar.

Kode: Komplet API-svar

Her er et mere komplet, API-klart svar med en Content-Type-header og en struktureret JSON-body. Vi laver et context-objekt til lokal test.

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ådan udfører Lambda din kode

Ved hver hændelse starter Lambda en container eller genbruger en eksisterende, indlæser din kode, kalder handleren, kører den og returnerer resultatet — derefter venter den eller lukker ned.

Hurtigt tjek

Hvilken af følgende beskriver bedst formålet med parameteren event i en Python-Lambda-handlerfunktion?

Opsummering: Din første Lambda!

Opsummering: Lambda kører kode uden servere. Handleren er dit startpunkt, event indeholder input som en ordbog, context giver oplysninger om runtime-miljøet, og du returnerer en status og en JSON-body.

Gratis at komme i gang

Lær Serverløs backend med AWS Lambda og API Gateway med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Første Lambda-funktion (Python)” gratis?

Ja — hele teksten til “Første Lambda-funktion (Python)” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Serverløs backend med AWS Lambda og API Gateway-kurset, skal du opgradere til CoddyKit PRO. Serverløs backend med AWS Lambda og API Gateway-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Første Lambda-funktion (Python)”?

Skriv og implementér Deres allerførste AWS Lambda-funktion ved hjælp af Python, og lær den grundlæggende struktur og eksekveringsmodel. Du øver dig i Serverløs backend med AWS Lambda og API Gateway med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Serverløs backend med AWS Lambda og API Gateway?

Der kræves ingen tidligere erfaring. Serverløs backend med AWS Lambda og API Gateway på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Første Lambda-funktion (Python)”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Serverløs backend med AWS Lambda og API Gateway-lektion?

Ja. Alle Serverløs backend med AWS Lambda og API Gateway-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Hvad er serverless?
  2. Oversigt over AWS' kernetjenester
  3. Første Lambda-funktion (Python)
  4. Forstå serverless-eksekveringsmodellen
← Tilbage til Serverløs backend med AWS Lambda og API Gateway