Serverless Applications with AWS Lambda
Claudio Canales
Senior DevOps Engineer






def lambda_handler(event, context):
# Your code here
return {
'statusCode': 200,
'body': 'Hello from Lambda!'
}
event: input payload (JSON).context: runtime metadata.
![]()
S3 event: bucket + object key.
# event["Records"][0]["s3"]
{
"bucket": {"name": "my-bucket"},
"object": {"key": "data.csv"}
}
![]()
API event: method, path, body.
# API request event
{
"httpMethod": "POST",
"path": "/users",
"body": "{\"name\": \"John\"}"
}
def lambda_handler(event, context):
time_left = (
context.get_remaining_time_in_millis()
)
request_id = context.aws_request_id
get_remaining_time_in_millis Time left before timeout.aws_request_id Request ID for log tracing.
counter = 0
def lambda_handler(event, context):
global counter
counter += 1 # may reset
return counter



# init (once per env)
import boto3
s3 = boto3.client('s3')
# handler (every invocation)
def lambda_handler(event, context):
return {"statusCode": 200}

Serverless Applications with AWS Lambda