Я выполнил все шаги, указанные в документации: https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
создать каталог.
Сохраните все ваши исходные файлы Python (файлы .py) на корневом уровне этого каталога.
Установите любые библиотеки с помощью pip на корневом уровне каталога.
Заархивируйте содержимое каталога project-dir)
Но после того, как я загрузил zip-файл в функцию лямбда, я получил сообщение об ошибке при тестировании скрипта
мой код:
import psycopg2
#my code...
Ошибка:
Unable to import module 'myfilemane': No module named 'psycopg2._psycopg'
Не знаю, откуда суффикс '_psycopg' ...
Любая помощь по этому поводу?
@KiteCoder Вы мне напомнили ... Я использовал систему Windows ... Я попробую с Linux ... спасибо






Я считаю, что это вызвано тем, что psycopg2 должен быть скомпилирован со статически связанными библиотеками для Linux. Пожалуйста, обратитесь к Использование psycopg2 с Lambda для обновления Redshift (Python) для получения более подробной информации по этой проблеме. Еще одна [ссылка] [1] проблем компиляции psycopg2 на OSX.
Есть несколько решений, но в основном все сводится к установке библиотеки на Linux-машине и ее использованию в качестве библиотеки Psycopg2 в вашем загружаемом пакете.
Вы используете собственные библиотеки с лямбдой. У нас была похожая проблема, и вот как мы ее решили.
Запустите машину с AMI с поддержкой AWS, которая запускает вашу настоящую лямбду.
https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html
Как это написано, это
AMI name: amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2
Полная документация по установке собственных модулей вашей лямбда-выражения Python.
https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html
Установите необходимые модули, необходимые для вашей лямбды,
pip install module-name -t /path/to/project-dir
и подготовьте свой пакет для загрузки вместе с собственными модулями в среде лямбда-ами.
Надеюсь это поможет.
очень полезный ответ.
Какую операционную систему вы использовали для создания библиотеки psycopg2? Просто любопытно - вы должны использовать Linux, чтобы это работало