🔍 Ctrl+K
🟢 Easy

Lambda — Serverless Compute

Serverless, no servers to manage, auto-scales, event-driven (S3, DynamoDB, Glue, CloudWatch) or time-based, stateless, supports Python/Node/Java/C#/Go. From file: mainly used for triggers.

🟡 Intermediate

Layers

Predefined packages (e.g., pandas layers) or custom packages via AWS CLI to use within Lambda.

🟡 Intermediate

Limitations

LimitValue
Timeout15 minutes
Memory10 GB
Deployment package50 MB (250 MB via S3)
Concurrency1000 per region (increasable)
Cold startLatency on first invoke
🟡 Intermediate

Boto3 — Invoke Lambda

Python
import boto3
lambda_client = boto3.client('s3', region_name='us-east-1')
response = lambda_client.invoke(
  FunctionName='my_lambda_function',
  InvocationType='RequestResponse'
)
print(response['Payload'].read().decode())
🔴 Advanced

Invoke Glue Job via Lambda

Python
import boto3, json
def lambda_handler(event, context):
    # event has S3 Records: bucket name and key
    bucketname = event['Records'][0]['s3']['bucket']['name']
    key = event['Records'][0]['s3']['object']['key']
    glue_client = boto3.client('glue', region_name='us-east-1')
    response = glue_client.start_job_run(
        JobName='my_glue_job',
        Arguments={'--arg1':'value1'}
    )
    return {'statusCode':200,'body': json.dumps('Glue job started')}

Event contains Records[0].s3.bucket.name and object.key. Context has function name, memory, remaining time, request ID.