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.

質問済み 1年前2547ビュー
1回答
4
承認された回答

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
エキスパート
回答済み 1年前
profile picture
エキスパート
レビュー済み 1ヶ月前
  • 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)

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ