AWS CodeCatalyst Rest API project blueprint: How to add external libraries (Python + Lambda)

0

Hello team,

I am using AWS CodeCatalyst and have created a Rest API project using an available blueprint. I am using Python language for my project.

It is working with the initial setup. I am able to deploy code and test. However, I need to add external libraries for my use case.

Does CodeCatalyst provide any simple way to add external Python libraries to my lambda function? Or do I need to explicitly create a new Lambda layer for adding external libraries?

I've tried adding the libraries to requirements.txt and running pip install but lambda is throwing Unable to import module 'lambda_function_name', No module named 'external_library'

Thank you.

asked a year ago2486 views
1 Answer
4
Accepted Answer

To add external Python libraries to your AWS CodeCatalyst Rest API project, you can create a new Lambda layer and upload the required libraries to it. Here are the steps

  • Create a directory on your local machine for the layer, and add a subdirectory named "python".
  • Inside the "python" directory, create a "site-packages" directory.
  • Use pip to install the required external libraries into the "site-packages" directory. For example, you can run the following command to install the "requests" library: pip install requests -t python/site-packages.
  • Zip the contents of the "python" directory. You can use the following command to zip the directory: cd python && zip -r ../layer.zip *.
  • Upload the resulting "layer.zip" file to AWS Lambda Layers. You can do this through the AWS Management Console or using the AWS CLI.
  • Once the layer is uploaded, you can add it to your Lambda function in AWS CodeCatalyst by referencing its ARN in the "Layers" section of the Lambda function configuration.
profile picture
EXPERT
answered a year ago
profile picture
EXPERT
reviewed 25 days ago
  • Thank you for the detailed instructions. I had to follow a slightly different directory structure to make it work.

    Created a directory named 'python' and installed the library directly under the 'python' directory (didn't require the site-packages subdirectory).

    zip (python/library files)

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions