python - 无法使用python库: 'paramiko' with AWS Lambda

标签 python aws-lambda paramiko bcrypt aws-lambda-layers

我正在尝试将文件传输到远程服务器,为此我使用paramiko库。我能够通过在本地运行 python 脚本成功地将文件传输到远程服务器。我正在使用的脚本如下:

import paramiko
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='my-host-name',username='myid',password='mypwd')
sftp_client=ssh.open_sftp()
#passing localpath, remotepath
sftp_client.put(r'C:\Users\test.csv', r'/dev/data/team/test.csv')
sftp_client.close()
ssh.close()

我需要在 AWS Lambda 上运行此脚本。但是,当我在 AWS Lambda 上运行此脚本时,出现以下错误。

enter image description here

根据 Paramiko 文档,它几乎没有直接依赖项,bcrypt 就是其中之一。

我通过上传包含所有相关模块的 zip 文件创建了一个 Lambda 层(pip install paramiko -t 。),并且还按照 python3.7 要求遵循了文件夹结构 (python/lib/python3.7/站点包/)

我在网上做了很多研究,但没有找到可以解决该问题的解决方案。

请帮助我!

最佳答案

通常有两个原因:

要么您没有正确命名处理程序名称,在这种情况下,请转至 Lambda -> Functions -> Your Function -> Configuration 并检查处理程序字段中的值是否正确。

或者您包含在压缩文件中的依赖项之一被编译到您的计算机体系结构,该体系结构通常与托管 lambda 函数的体系结构不同。在这种情况下,您应该找出托管您的 lambda 函数的 Linux 版本,并获取可供 AWS lambda 使用的预编译版本。

关于python - 无法使用python库: 'paramiko' with AWS Lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63080436/

相关文章:

python - "paramiko.ssh_exception.SSHException: could not get keys from ssh-agent"如何解决

python - 通过 Python REST API 执行 JIRA 转换

python - 加速 Django 管理删除页面

python - 是否有相当于 dplyr::summarise 的 Pandas ?

python - 显示半小时间隔的数据框列

node.js - lambda + api 网关什么时候真正向客户端发送响应?

kubernetes - 通过AWS Lambda对K8s集群进行身份验证

aws-lambda - 发布到 AWS Lambda - 找不到 "build-lambda-zip"实用程序

python - fatal error : Incompatible ssh peer (no acceptable kex algorithm)

python - Paramiko 是重用 session 还是为每个 exec_command 调用打开一个新 session ?