Бессерверные приложения с AWS Lambda
Claudio Canales
Senior DevOps Engineer






def lambda_handler(event, context):
# Your code here
return {
'statusCode': 200,
'body': 'Hello from Lambda!'
}
event: входная полезная нагрузка (JSON).context: метаданные среды выполнения.
![]()
Событие S3: бакет + ключ объекта.
# event["Records"][0]["s3"]
{
"bucket": {"name": "my-bucket"},
"object": {"key": "data.csv"}
}
![]()
Событие API: метод, путь, тело.
# 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 Время до истечения таймаута.aws_request_id Идентификатор запроса для трассировки логов.
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}

Бессерверные приложения с AWS Lambda