Aplicações Serverless com AWS Lambda
Claudio Canales
Senior DevOps Engineer






def lambda_handler(event, context):
# Your code here
return {
'statusCode': 200,
'body': 'Hello from Lambda!'
}
event: payload de entrada (JSON).context: metadados de runtime.
![]()
Evento S3: bucket + chave do objeto.
# event["Records"][0]["s3"]
{
"bucket": {"name": "my-bucket"},
"object": {"key": "data.csv"}
}
![]()
Evento de API: método, caminho, corpo.
# 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 restante antes do timeout.aws_request_id ID da requisição para rastrear logs.
counter = 0
def lambda_handler(event, context):
global counter
counter += 1 # pode resetar
return counter



# init (uma vez por ambiente)
import boto3
s3 = boto3.client('s3')
# handler (toda invocação)
def lambda_handler(event, context):
return {"statusCode": 200}

Aplicações Serverless com AWS Lambda