我想使用pysftp库(Python 脚本)将文件上传到 EC2 实例。所以我创建了小的 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)
Run Code Online (Sandbox Code Playgroud)
此脚本将使用 .pem 文件将文件从我的本地 Windows 机器上传到 EC2 实例,并且它可以正常工作。
现在我想使用具有 API 网关功能的AWS lambda来执行此操作。
所以我已将 Python 脚本上传到 AWS lambda。现在我不确定如何在 AWS lambda 中使用 pysftp 库,所以我找到了在 AWS lambda 层中添加 pysftp 库层的解决方案。我做到了
pip3 安装 pysftp -t ./library_folder
我制作了上述文件夹的 zip 并添加到 AWS lambda 层中。
但是我仍然有很多错误,比如一个一个:-
没有名为“pysftp”的模块
没有名为“paramiko”的模块
未定义符号:PyInt_FromLong
无法从部分初始化的模块 'bcrypt' 导入名称 '_bcrypt'(很可能是由于循环导入)
找不到 cffi 模块
我只是淡出上述错误我没有找到合适的解决方案。如何在我的 AWS lambda 中无缝使用 pysftp 库?
python amazon-web-services pysftp aws-lambda aws-lambda-layers