Skip to content

Aws Lambda

DodaTech 1 min read

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

  1. Timeout prea mic — set implicit 3 secunde; crește-l pentru funcții care accesează baze de date.
  2. Memorie insuficientă — alocă mai multă memorie pentru sarcini CPU-intensive.
  3. Ignorarea reutilizării contextului — variabilele globale se păstrează între invocări.
  4. Permisiuni IAM lipsă — funcția trebuie să aibă rol cu acces la resursele folosite.
  5. Payload prea mare — dimensiunea evenimentului e limitată la 256 KB (sincron).

FAQ

### Ce este AWS Lambda?

AWS Lambda este un serviciu serverless care rulează cod ca răspuns la evenimente, taxând doar timpul de execuție și memoria utilizată.

Ce limbaje suportă Lambda?

Lambda suportă Python, Node.js, Java, Go, Ruby, .NET și runtime-uri personalizate.

Cum se limitează costurile Lambda?

Folosește timeout-uri mici (3-30 secunde), alocă doar memoria necesară și monitorizează cu CloudWatch.

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