Applicazioni serverless con AWS Lambda
Claudio Canales
Senior DevOps Engineer






def lambda_handler(event, context):
# Your code here
return {
'statusCode': 200,
'body': 'Hello from Lambda!'
}
event: payload di input (JSON).context: metadati di runtime.
![]()
Evento S3: bucket + object key.
# event["Records"][0]["s3"]
{
"bucket": {"name": "my-bucket"},
"object": {"key": "data.csv"}
}
![]()
Evento API: metodo, 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 Tempo rimasto prima del timeout.aws_request_id ID richiesta per tracciare i log.
counter = 0
def lambda_handler(event, context):
global counter
counter += 1 # può azzerarsi
return counter



# init (una volta per ambiente)
import boto3
s3 = boto3.client('s3')
# handler (a ogni invocazione)
def lambda_handler(event, context):
return {"statusCode": 200}

Applicazioni serverless con AWS Lambda