- AWS CLI v2 configured
- Docker installed
- git configured
- jq installed
- zip installed
- git clone https://github.com/Ducharme/awsCustomLambdas
- Update values in file
set_project_values.sh
(defaults are PROJECT_NAME=hello and DOCKERFILE=Dockerfile_ubuntu)
- PROJECT_NAME: Lowercase string without space plus dash '-' char are valid
- DOCKERFILE: Dockerfile_aws or Dockerfile_bookworm or Dockerfile_ubuntu or NA (for custom image from zip file)
sh build_image.sh
Note: Only for functions using docker imagesh create_role.sh
sh create_lambda.sh
sh create_api.sh
sh run_container_locally.sh
Note: Only for functions using docker imagesh run_function_remotely.sh
sh run_function_from_apigw.sh
sh test_cold_start_by_region.sh
sh run_function_by_region.sh
Simply run sh cleanup.sh
to delete all resources at once
- API Gateway / APIs ($PROJECT_NAME-api)
- Lambda / Functions ($PROJECT_NAME-lambda)
- Amazon ECR / Repositories ($PROJECT_NAME-repo)
- IAM / Roles ($PROJECT_NAME-lambda-role)
- CloudWatch / Log groups (/aws/lambda/$PROJECT_NAME-lambda)
- CloudWatch / Log groups (/aws/apigw/$PROJECT_NAME-api)
- Custom Lambda runtimes
- Tutorial – Publishing a custom runtime
- Working with Lambda container images
- Testing Lambda container images locally
- Deploy Node.js Lambda functions with container images
- Lambda runtime API
- https://github.com/aws/aws-lambda-base-images/
- https://gallery.ecr.aws/lambda/provided
- https://gallery.ecr.aws/lambda/nodejs