- Install pre-commit for code quality checks:
pip install pre-commit pre-commit install
-
Build Docker image locally:
docker build -t lefse-lambda . -
Login to AWS ECR:
aws ecr get-login-password --region ap-southeast-1 | docker login --username AWS --password-stdin 256056681342.dkr.ecr.ap-southeast-1.amazonaws.com -
Build and push to ECR:
docker buildx build \ --platform linux/amd64 \ --provenance=false \ --push \ -t 256056681342.dkr.ecr.ap-southeast-1.amazonaws.com/iomics/analyses/lefse-lambda:latest \ . -
Update Lambda function: ENV options include: dev, staging, prod
aws lambda update-function-code \ --function-name lefseAnalysisLambda \ --region ap-southeast-1 \ --image-uri 256056681342.dkr.ecr.ap-southeast-1.amazonaws.com/iomics/analyses/lefse-lambda:latest aws lambda update-function-configuration \ --function-name lefseAnalysisLambda \ --region ap-southeast-1 \ --environment Variables="{ENV=dev,API_KEY=/dev/data_access/API_KEY,PORTAL_API_URL=https://test-data-access.iomics.io/api/v1/external}"
-
Build local test image:
docker build -t lambda-built-manual-local . -
Run locally:
docker run -p 9000:8080 lambda-built-manual-local
-
Test with sample request:
curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" \ -d '{ "workspace_id": "402eae8f-55ad-427b-9724-bf569c11a4a2", "analysis_id": "63f9546d-f467-41ed-a9ba-