AWS Lambda Layer - PullRequest
       5

AWS Lambda Layer

0 голосов
/ 15 февраля 2019

Я пытаюсь импортировать библиотеку панд в свой лямбда-слой aws.Но он выдает ошибку, говорящую о невозможности импортировать lambda.function: нет имен модулей numpy.

Может кто-нибудь объяснить, в чем проблема с пандами и aws.когда я пытаюсь локально запустить его на pycharm, используя SAM, он выдает ту же ошибку.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Если вы используете Лямбда-слои AWS , вам необходимо проверить, находится ли ваша структура каталогов на нужной структуре для слоя:

Например, для подушки Для модуля Python вам нужна следующая структура:

aws-lambda-layer.zip
│ python
│ python/PIL
└ python/Pillow-5.3.0.dist-info

Итак, чтобы создать zip-файл слоя с правильной структурой, мы можем использовать следующую команду в корне нашего проекта:

mkdir -p python && cp -r <lib_name> python/ && zip -r aws-lambda-layer.zip python
0 голосов
/ 16 февраля 2019

Lambdas имеют ограничение в 125 МБ как часть zip-файла или кода, который вы загружаете, и, как правило, Pandas / Numpy - это огромные библиотеки, которые потенциально выходят за эти пределы.Следовательно

1) Если часть вашего кода, которая использует панд, может быть заменена другим питонским способом действий (defaultdict, dict, lists и т. Д.), Я рекомендую 2) Вы можете попробовать сжать зависимости (pandas).или другие библиотеки, с которыми вы установили pip) в среде linux, как Lambdas в среде linux.Вы можете следовать этой статье: https://medium.com/i-like-big-data-and-i-cannot-lie/how-to-create-an-aws-lambda-python-3-6-deployment-package-using-docker-d0e847207dd6 3) Вы можете следовать этому: https://medium.com/@qtangs/creating-new-aws-lambda-layer-for-python-pandas-library-348b126e9f3e

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...