0
0
AWScloud~10 mins

Lambda with API Gateway pattern in AWS - Step-by-Step Execution

Choose your learning style9 modes available
Process Flow - Lambda with API Gateway pattern
Client sends HTTP request
API Gateway receives request
API Gateway triggers Lambda function
Lambda function executes code
Lambda returns response to API Gateway
API Gateway sends HTTP response to client
This flow shows how a client request goes through API Gateway to trigger a Lambda function, which processes and returns a response back through API Gateway to the client.
Execution Sample
AWS
import json

def lambda_handler(event, context):
    name = event.get('queryStringParameters', {}).get('name', 'World')
    return {
        'statusCode': 200,
        'body': json.dumps({'message': f'Hello, {name}!'})
    }
A simple Lambda function triggered by API Gateway that reads a 'name' query parameter and returns a greeting message.
Process Table
StepActionInputLambda ProcessingOutput
1Client sends HTTP GET requestGET /?name=AliceN/ARequest received by API Gateway
2API Gateway triggers LambdaEvent with queryStringParameters={'name':'Alice'}Reads 'name' parameterPrepares greeting message
3Lambda executes{'queryStringParameters': {'name': 'Alice'}}Creates message 'Hello, Alice!'{'statusCode': 200, 'body': '{"message": "Hello, Alice!"}'}
4API Gateway sends responseLambda outputN/AHTTP 200 with body '{"message": "Hello, Alice!"}' sent to client
5Client receives responseHTTP 200 with bodyN/ADisplays message 'Hello, Alice!'
6Client sends HTTP GET requestGET / (no name)N/ARequest received by API Gateway
7API Gateway triggers LambdaEvent with queryStringParameters=NoneUses default 'World'Prepares greeting message
8Lambda executes{'queryStringParameters': None}Creates message 'Hello, World!'{'statusCode': 200, 'body': '{"message": "Hello, World!"}'}
9API Gateway sends responseLambda outputN/AHTTP 200 with body '{"message": "Hello, World!"}' sent to client
10Client receives responseHTTP 200 with bodyN/ADisplays message 'Hello, World!'
11No more requestsN/AN/AExecution ends
💡 Execution stops after client receives response and no further requests are made.
Status Tracker
VariableStartAfter Step 2After Step 3After Step 7After Step 8Final
eventN/A{'queryStringParameters': {'name': 'Alice'}}{'queryStringParameters': {'name': 'Alice'}}{'queryStringParameters': None}{'queryStringParameters': None}N/A
nameN/A'Alice''Alice''World''World'N/A
responseN/AN/A{'statusCode': 200, 'body': '{"message": "Hello, Alice!"}'}N/A{'statusCode': 200, 'body': '{"message": "Hello, World!"}'}N/A
Key Moments - 3 Insights
Why does the Lambda function use 'World' when no 'name' parameter is provided?
When the event's 'queryStringParameters' is None or missing 'name', the code uses a default value 'World' as shown in steps 7 and 8 in the execution_table.
How does API Gateway pass the HTTP request data to Lambda?
API Gateway converts the HTTP request into an event object with details like 'queryStringParameters' and passes it to Lambda, as seen in steps 2 and 7.
What happens if Lambda returns a statusCode other than 200?
API Gateway will forward that status code in the HTTP response to the client, affecting how the client interprets the result. This is implied in step 4.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 3. What is the value of 'name' inside Lambda?
A'Alice'
B'World'
CNone
D'Bob'
💡 Hint
Check the 'Lambda Processing' column at step 3 in the execution_table.
At which step does the Lambda function use the default name 'World'?
AStep 3
BStep 8
CStep 2
DStep 5
💡 Hint
Look for where 'Uses default "World"' appears in the execution_table.
If the client sends a request with '?name=Bob', what will the Lambda's response message be?
A'Hello, Alice!'
B'Hello, World!'
C'Hello, Bob!'
DAn error message
💡 Hint
Refer to how the Lambda reads the 'name' parameter in the variable_tracker and execution_table.
Concept Snapshot
Lambda with API Gateway pattern:
- API Gateway receives HTTP request
- Passes event to Lambda function
- Lambda reads event data (e.g., query parameters)
- Lambda returns response with statusCode and body
- API Gateway sends HTTP response to client
- Default values used if parameters missing
Full Transcript
This visual execution shows how a client sends an HTTP request to API Gateway, which triggers a Lambda function. The Lambda function reads the query parameter 'name' from the event. If 'name' is missing, it defaults to 'World'. The Lambda returns a JSON message greeting the name. API Gateway sends this response back to the client. The execution table traces each step from request to response, showing variable values and actions. Key moments clarify default values and data passing. The quiz tests understanding of variable values and flow.