У меня есть скрипт Python для лямбда-функции AWS, которая выполняет HTTP-запросы POST к другой конечной точке. Поскольку Python urllib2.request
, https://docs.python.org/2/library/urllib2.html, может обрабатывать данные только в стандартном формате application/x-www-form-urlencoded
, и я хочу опубликовать данные JSON, я использовал библиотеку запросов, https://pypi.org/project/requests/2.7.0/.
Библиотека запросов не быланедоступно на AWS Lambda в среде исполнения Python, поэтому пришлось импортировать через from botocore.vendored import requests
. Пока все хорошо.
Сегодня я получаю предупреждение об устаревании:
DeprecationWarning: You are using the post() function from 'botocore.vendored.requests'.
This is not a public API in botocore and will be removed in the future.
Additionally, this version of requests is out of date. We recommend you install the
requests package, 'import requests' directly, and use the requests.post() function instead.
Это также упоминалось в этом сообщении в блоге от AWS: https://aws.amazon.com/blogs/developer/removing-the-vendored-version-of-requests-from-botocore/.
К сожалению, изменение from botocore.vendored import requests
на import requests
приводит к следующей ошибке:
No module named 'requests'
Почему requests
недоступно для среды выполнения Python на AWS Lambda? И как я могу использовать / импортировать его?