Я хочу загрузить файлы в экземпляр EC2, используя pysftp библиотека (python скрипт) . Поэтому я создал небольшой сценарий python, который использует строку ниже для подключения
pysftp.Connection(
host=Constants.MY_HOST_NAME,
username=Constants.MY_EC2_INSTANCE_USERNAME,
private_key="./mypemfilelocation.pem",
)
some code here .....
pysftp.put(file_to_be_upload, ec2_remote_file_path)
Этот сценарий будет загружать файлы с моего локального компьютера Windows в экземпляр EC2 с использованием файла .pem, и он работает правильно.
Теперь я хочу выполнить это действие, используя AWS lambda с функциональностью API Gateway .
Итак, я загрузил скрипт python в AWS lambda. Теперь у меня возникла проблема, связанная с тем, как я использую библиотеку pysftp в AWS lambda, поэтому я нашел решение добавить библиотеку pysftp Layer в AWS lambda. Layer, так что я сделал это с помощью
pip3 install pysftp -t ./library_folder
И я делаю zip из указанной выше папки и добавляю в AWS lambda Layer.
Но все же я получил так много ошибок, как одна за другой: -
Нет модуля с именем 'pysftp'
Нет модуля с именем 'paramiko'
Неопределенный символ: PyInt_FromLong
не может импортировать имя '_bcrypt' из частично инициализированного модуля 'bcrypt' (скорее всего, из-за циклического импорта)
модуль cffi не найден
Я просто исчез из вышеупомянутых ошибок, я не нашел правильного решения. Пожалуйста, помогите мне, чтобы я мог без проблем использовать библиотеку pysftp в моей AWS лямбде.