我使用pysftp从python函数连接到sFTP站点。这在运行为file_track.py的本地运行很好。但当我把它部署到AWS lambda上时,它失败了-
{
"error Message": "Unable to import module 'lambda function': cannot import name 'asn1' from 'cryptography.hazmat.bindings._rust' (unknown location)",
"error Type": "Runtime.ImportModuleError",
"requestId": "0235edb8-25a3-4570-a1ea-2a2696a7dd04",
"stack Trace": []
}请帮帮我!
发布于 2022-04-14 02:33:59
即使在遵循AWS指南关于如何编译具有额外依赖关系的lambda函数之后,我也遇到了此错误。在被困了几个小时后,我的个人笔记本电脑和lambda函数的运行时环境在CPU体系结构上有所不同。我的个人笔记本电脑是华硕TUF A15,它使用的是x64,AMD,Ryzen,74800 H CPU。然而,我的Lambda函数的运行时是x86_64上的Python3.8,这是一个Intel。我在AMD CPU上下载和打包的密码库包与Intel CPU不兼容。不过,大多数其他库运行良好,但显然不是密码库。
解决方案:
我为AmazonLinux2022启动了一个临时的m5.大型EC2实例,运行x86_64 AMI (可以是T2,我认为只要它是x86_64),然后遵循在这位医生上指定的相同步骤,我的函数成功地执行,没有任何问题。
发布于 2022-01-15 08:39:39
我似乎没有用lambda函数打包您的pysftp python包,因此它找不到可以尝试形成层的绑定,这是一个类似的问题,可能会对您有所帮助。
https://stackoverflow.com/questions/70719710
复制相似问题