BagelHole

aws-lambda

Build and deploy serverless functions on AWS Lambda. Configure triggers, manage permissions, and optimize performance. Use when implementing serverless applications.

BagelHole 28 4 Updated 4mo ago
GitHub

Install

npx skillscat add bagelhole/devops-security-agent-skills/aws-lambda

Install via the SkillsCat registry.

SKILL.md

AWS Lambda

Build serverless applications with AWS Lambda.

Create Function

# Create function
aws lambda create-function \
  --function-name myfunction \
  --runtime python3.11 \
  --handler app.handler \
  --role arn:aws:iam::xxx:role/lambda-role \
  --zip-file fileb://function.zip

# Update code
aws lambda update-function-code \
  --function-name myfunction \
  --zip-file fileb://function.zip

Function Code

# app.py
import json

def handler(event, context):
    return {
        'statusCode': 200,
        'body': json.dumps({'message': 'Hello!'})
    }

API Gateway Integration

# Create REST API
aws apigateway create-rest-api --name myapi

# Add Lambda permission
aws lambda add-permission \
  --function-name myfunction \
  --statement-id apigateway \
  --action lambda:InvokeFunction \
  --principal apigateway.amazonaws.com

Environment & Configuration

# Set environment variables
aws lambda update-function-configuration \
  --function-name myfunction \
  --environment "Variables={DB_HOST=xxx,API_KEY=yyy}"

# Set memory and timeout
aws lambda update-function-configuration \
  --function-name myfunction \
  --memory-size 256 \
  --timeout 30

Best Practices

  • Minimize cold starts
  • Use layers for dependencies
  • Implement proper error handling
  • Use provisioned concurrency for latency-sensitive functions
  • Monitor with CloudWatch

Related Skills