Например, я хотел бы использовать scikit-learn для машинного обучения и pandas, numpy и matplotlib / seaborn для анализа данных. Поддерживает ли AWS Lambda все эти библиотеки? Есть ли список поддерживаемых библиотек? Или мне лучше создать виртуальный сервер, чтобы убедиться, что я могу использовать любую библиотеку Python, которую захочу?






Эти модули по умолчанию недоступны. Я нашел этот (более старый) список доступных модулей вместе с кодом для создания текущего отчета о том, что доступно, если вы захотите это сделать:
https://gist.github.com/sjehutch/36493ff674b1b9a16fc44a5fc270760c
Вы можете создать свою собственную среду с помощью virtualenv и загрузить ее в Lambda. Он может содержать все, что угодно. См. Здесь для получения дополнительной информации:
https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
Таким образом, вы по-прежнему можете использовать AWS Lambda, и вам не потребуется виртуальный сервер.
Отредактировано, чтобы добавить немного саморекламы:
Сделал веб-сайт, на котором показаны текущие модули, доступные в каждой среде, предоставляемой Amazon.
Я создал небольшую библиотеку под названием можжевельник для автоматизации упаковки кода для лямбда-функций AWS.
Все, что вам нужно сделать, чтобы использовать можжевельник, - это создать небольшой файл manifest.yml, который выглядит так:
functions:
# Name the zip file you want juni to create
router:
# Where are your dependencies located?
requirements: ./src/requirements.txt.
# Your source code.
include:
- ./src/lambda_function.py
Пока у вас есть зависимости в файле requirements.txt, juniper упакует их за вас. В нашей базе кода есть несколько примеров, демонстрирующих возможности можжевельника.
Крутой чувак. Я могу взглянуть на это в следующий раз, когда мне понадобится это сделать. Спасибо!
Помимо стандартной библиотеки Python по умолчанию, в среды выполнения AWS Lambda Python встроены некоторые сторонние пакеты. Эти пакеты готовы к использованию в ваших функциях FaaS.
Ежедневно обновляемый список поддерживаемых пакетов можно найти здесь. https://www.feitsui.com/en/article/2
Если вы в конечном итоге используете экземпляр EC2, образ AMI Amazon ML будет содержать драйверы и т. д. Для поддержки Nvidia CUDA для ML, а также несколько пакетов Python; это актуально для типов g3 / g4 / g5 / p3 и т. д.