Как избежать запросов на упаковку каждый раз, когда мне нужно использовать его в Lambda? - PullRequest
0 голосов
/ 28 февраля 2020

Это относится к изменению удаления продаваемой версии запросов из botocore, как показано здесь: https://aws.amazon.com/blogs/developer/removing-the-vendored-version-of-requests-from-botocore/

Я изменял существующие лямбды для этого изменения. Для простых запросов get я только что использовал urllib3, так как он является частью std lib, но столкнулся с проблемами, пытаясь использовать его для более сложных вызовов, таких как установка множества заголовков, аутентификация и размещение контента. Я нашел различные посты, в том числе на SO, которые рекомендуют использовать только запросы, которые, я должен сказать, я предпочитаю. выполнить «pip install reports -t ./», а затем архивировать пакет развертывания (документация здесь: https://aws.amazon.com/premiumsupport/knowledge-center/build-python-lambda-deployment-package/) для каждой из моих лямбд, которые требуют использования запросов.

Я ненормальный здесь? Есть ли более простой или лучший способ сделать это или это мой единственный вариант? Насколько расточительно было бы иметь лямбда-функцию за шлюзом API, которая импортировала запросы и все другие лямбда-выражения, вызываемые (используя urllib3), и передавала параметры, которые делали вызов и отвечали обратно?

Я чувствую, что должен не обращайте внимания на лучший способ сделать это, пожалуйста, просветите меня!

1 Ответ

0 голосов
/ 03 марта 2020

Поместите requests в слой Lambda и используйте этот слой в различных функциях Lamdba

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