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.

demandé il y a un an2550 vues
1 réponse
4
Réponse acceptée

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
répondu il y a un an
profile picture
EXPERT
vérifié il y a un mois
  • 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)

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions