AWS Lambda is a server less compute service that lets you run code without provisioning or managing servers, creating workload-aware cluster scaling logic, maintaining event integrations, or managing runtimes. With Lambda, you can run code for virtually any type of application or backend service - all with zero administration. Just upload your code as a ZIP file or container image, and Lambda automatically and precisely allocates compute execution power and runs your code based on the incoming request or event, for any scale of traffic. You can set up your code to automatically trigger from 140 AWS services or call it directly from any web or mobile app.
Suppose you have written your lambda in python and trying to import you favorite packages which you have used in code then it might create problem for you. eg. like Pandas, numpy
Although Python AWS lambda give access to all BOTO3 lib resources.
Below are the steps to Import your Lambda code into AWS.
Step 1: Start a Cloud9 Linux instance in AWS
- Search for Cloud9 in the AWS Services
- Click ‘Create Environment’
- Name your environment whatever you like (e.g. transformer ) and click next step
- Keep the environment default settings and click next.
- Click ‘Create Environment’ and you’re ready to go
Step 2: Creating dependency layer of Pandas library
Enter below steps on the terminal to create package and download dependencies.
mkdir dependency cd dependency virtualenv v-env source ./v-env/bin/activate pip install pandas deactivate
Check for python version installed on machine
mkdir python cd python cp -r ../v-env/lib64/python3.7/site-packages/* . cd .. zip -r panda_layer.zip python aws lambda publish-layer-version --layer-name pandas --zip-file fileb://panda_layer.zip --compatible-runtimes python3.7
Output after completion of all steps should look like this
Step 3: Adding the Pandas layer to your Lamda function
- Go to the AWS Lambda service and click ‘Create Function’
- Name your function, set the runtime to ‘Python 3.7’, and click ‘Create Function’
- Click on Layers
- Click on ‘Layers’ in the function designer, then click ‘add a layer’
- Choose custom layers from the layers options and on the dropdown, you should see your Pandas layer.
- Select that layer and choose your version as 1
- Click ‘Add’.
You are now good to go with your lambda having dependency of Pandas.