mirror of
https://github.com/BagelHole/DevOps-Security-Agent-Skills.git
synced 2026-08-22 12:49:53 +02:00
85 lines
1.8 KiB
Markdown
85 lines
1.8 KiB
Markdown
---
|
|
name: aws-lambda
|
|
description: Build and deploy serverless functions on AWS Lambda. Configure triggers, manage permissions, and optimize performance. Use when implementing serverless applications.
|
|
license: MIT
|
|
metadata:
|
|
author: devops-skills
|
|
version: "1.0"
|
|
---
|
|
|
|
# AWS Lambda
|
|
|
|
Build serverless applications with AWS Lambda.
|
|
|
|
## Create Function
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```python
|
|
# app.py
|
|
import json
|
|
|
|
def handler(event, context):
|
|
return {
|
|
'statusCode': 200,
|
|
'body': json.dumps({'message': 'Hello!'})
|
|
}
|
|
```
|
|
|
|
## API Gateway Integration
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
# 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
|
|
|
|
- [terraform-aws](../terraform-aws/) - IaC deployment
|
|
- [aws-iam](../aws-iam/) - Execution roles
|