she*_*u85 5 amazon-web-services python-3.x ibm-watson aws-lambda
我正在尝试使用 watson_developer_cloud sdk 部署一个 python Lambda 包。密码学是此包具有的众多依赖项之一。我已经在 Linux 机器上构建了这个包。我的包也包含 .libffi-d78936b1.so.6.0.4 隐藏文件。但是我的 lambda 函数仍然无法访问它。我仍然收到“libffi-d78936b1.so.6.0.4:无法打开共享对象文件”错误。我使用这里的说明在 Vagrant 服务器上构建了我的包:https : //docs.aws.amazon.com/lambda/latest/dg/with-s3-example-deployment-pkg.html#with-s3-example-部署-pkg-python
确切的错误:
Unable to import module 'test_translation': libffi-d78936b1.so.6.0.4: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
请注意,如本解决方案中所述,我已经使用zip -r9 $DIR/lambda_function.zip创建了我的包。代替 *。但它仍然不适合我。
任何方向都是高度可观的。
小智 10
该libffi-d78936b1.so.6.0.4是在一个名为隐藏的文件夹.libs_cffi_backend。
因此,要在 lambda zip 中添加此隐藏文件夹,您应该执行以下操作:
zip -r ../lambda_function.zip * .[^.]*
Run Code Online (Sandbox Code Playgroud)
这将在上面的目录中创建一个名称为 的 zip 文件lambda_function.zip,其中包含当前目录中的所有文件(第一个*)以及所有以( )开头.*但不为..*( [^.])
在这种情况下,我会花一些时间设置本地 SAM 环境,以便您可以:
1 - 调试您的 Lambda
2 - 检查正在打包的内容和文件层次结构
https://docs.aws.amazon.com/lambda/latest/dg/test-sam-cli.html
或者,您可以删除此导入并检测您的 lambda 函数以打印它“看到”的一些文件和目录。
我强烈建议您尝试一下 SAM,因为它不仅会使这种调试方式变得更容易,而且还能使您以后需要执行的任何进一步测试变得更容易。Lambda 表达式很难调试。
| 归档时间: |
|
| 查看次数: |
4156 次 |
| 最近记录: |