Aws Lambda
title: "Cum să creezi și să rulezi funcții Lambda în AWS — Ghid rapid" description: "Creare funcții serverless, configurare trigger-e, testare și depanare în AWS Lambda" weight: 967 date: 2025-01-15 draft: false tags: [aws, lambda, serverless, funcții, quick-fix]
AWS Lambda este serviciul serverless de calcul care rulează codul tău ca răspuns la evenimente, fără să necesite administrarea serverelor și taxând doar timpul de execuție consumat.
Problema
Gestionarea serverelor pentru aplicații mici sau funcții auxiliare consumă timp și resurse. Fără un serviciu serverless precum Lambda, plătești pentru capacitate inactivă și întreții infrastructură inutilă.
Abordarea Greșită
Rularea unui script pe un server virtual întreg:
Server EC2 t2.micro: ~8.5 USD/lună (mereu pornit, chiar și când scriptul nu rulează)
Abordarea Corectă
Creează o funcție Lambda și ruleaz-o la cerere:
# lambda_function.py
import json
def lambda_handler(event, context):
name = event.get("name", "Anonim")
return {
"statusCode": 200,
"body": json.dumps(f"Salut, {name}!")
}
Implementare cu AWS CLI:
# Arhivă cod
zip function.zip lambda_function.py
# Creare funcție
aws lambda create-function \
--function-name salut-lambda \
--runtime python3.12 \
--role arn:aws:iam::123456789012:role/lambda-role \
--handler lambda_function.lambda_handler \
--zip-file fileb://function.zip
# Test sincron
aws lambda invoke \
--function-name salut-lambda \
--payload '{"name": "Maria"}' \
output.json
cat output.json
Output:
{"statusCode": 200, "body": "\"Salut, Maria!\""}
Configurare Trigger
Asociază un eveniment S3 pentru procesare automată:
aws s3api put-bucket-notification-configuration \
--bucket nume-bucket \
--notification-configuration '{
"LambdaFunctionConfigurations": [{
"LambdaFunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:salut-lambda",
"Events": ["s3:ObjectCreated:*"]
}]
}'
Greșeli Comune
- Timeout prea mic — set implicit 3 secunde; crește-l pentru funcții care accesează baze de date.
- Memorie insuficientă — alocă mai multă memorie pentru sarcini CPU-intensive.
- Ignorarea reutilizării contextului — variabilele globale se păstrează între invocări.
- Permisiuni IAM lipsă — funcția trebuie să aibă rol cu acces la resursele folosite.
- Payload prea mare — dimensiunea evenimentului e limitată la 256 KB (sincron).
FAQ
Construit de dezvoltătorii Doda Browser, DodaZIP și Durga Antivirus Pro. DodaTech integrează securitatea în fiecare soluție cloud.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro