ищу способ апгрейда / понижения внутри лямбды - PullRequest
0 голосов
/ 29 апреля 2019

Мне нужен способ повысить / понизить библиотеку boto3 внутри моего Python 3.7 env внутри Lambda.

Прямо сейчас, версия 1.9.42 внутри Lambda. Я не могу использовать некоторые вещи, такие как Textract (boto3.client('textract'), но я могу использовать на своей локальной машине (boto3 версия 1.9.138.

Итак, я решил установить boto3 в пакет (pip3 install boto3 -t dir/ --system), а затем загрузить его в Lambda после архивирования.

Это не сработало, потому что Lambda не принимает пакет размером более 3 МБ (это около 8 МБ)

Есть ли другие обходные пути?

edit: я знаю, что всегда мог бы просто написать работающий код и продолжать загружать его в Lambda, но это станет громоздким, поскольку мне придется включать все пакеты, установленные в пакет, и перестраивать его по мере внесения изменений.

1 Ответ

1 голос
/ 30 апреля 2019

Модель безсерверного приложения - это инструмент, предоставляемый AWS, который позволяет вам разрабатывать локально, поскольку он моделирует среду lamdba внутри док-контейнера. Когда вы будете готовы, вы можете развернуть свой код в лямбду, и он будет работать как положено.

Если вы действительно хотите продолжать редактировать код в веб-платформе, существует обходной путь, использующий лямбда-слои . Вы создаете пакет со всеми вашими зависимостями и загружаете его в лямбда-слой. Затем включите ваш слой в лямбду и просто измените свой собственный код там. Как было отмечено в комментариях, это не путь к реальному развитию.

...