【发布时间】:2023-03-26 16:07:02
【问题描述】:
我想使用 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)
此脚本将使用 .pem 文件将文件从我的本地 Windows 机器上传到 EC2 实例,并且它可以正常工作。
现在我想使用 AWS lambda 和 API Gateway 功能来执行此操作。
所以我已将 Python 脚本上传到 AWS lambda。现在我不确定如何在 AWS lambda 中使用 pysftp 库,所以我找到了在 AWS lambda 层中添加 pysftp 库层的解决方案。我做到了
pip3 install pysftp -t ./library_folder
然后我将上述文件夹压缩并添加到 AWS lambda 层中。
但我还是一一遇到了很多错误:-
没有名为“pysftp”的模块
没有名为“paramiko”的模块
未定义符号:PyInt_FromLong
无法从部分初始化的模块“bcrypt”导入名称“_bcrypt”(很可能是由于循环导入)
找不到cffi模块
我只是淡化了上述错误,我没有找到合适的解决方案。如何在我的 AWS lambda 中无缝使用 pysftp 库?
【问题讨论】:
标签: python amazon-web-services aws-lambda pysftp aws-lambda-layers