无法让 phantomjs 在 aws lambda 上工作

2023-12-05

我正在尝试使用 node-lambda 和我在网上找到的主要内容来执行 phantomjshttps://github.com/justengland/phantom-lambda-template

我在使用 node43 部署 node-lambda 时遇到了一些问题,但手动安装最新的源似乎在这方面有所帮助。

但现在我在运行 lambda 函数时遇到问题。我明白了

2016-04-12T16:47:12.133Z    3330adb9-00ce-11e6-9c08-d79a6bc84748    Calling phantom:  /var/task/phantomjs [ '/var/task/phantomjs-script.js' ]
2016-04-12T16:47:12.236Z    3330adb9-00ce-11e6-9c08-d79a6bc84748    Error: spawn EACCES
    at exports._errnoException (util.js:870:11)
    at ChildProcess.spawn (internal/child_process.js:298:11)

看起来 lambda 无法访问虚拟二进制文件。 有什么方法可以给该函数更多的权限来执行此操作吗?

Thanks


出现此问题的原因可能是您将本地构建的二进制文件部署到了 AWS Lambda。Lambda 要求为 Amazon Linux 编译其二进制文件,否则它无法执行它们(除非你超级幸运)。

如果您要调用任何可执行文件或使用二进制文件附带的库,您需要在具有 Amazon Linux 的 EC2 计算机上编译它们,并在 Lambda 函数中使用结果。这是一个非常基础的教程.

如果您已经这样做了,还要确保您使用的二进制文件是可执行的(您可以通过调用chmod 777 your_executable)。我想你已经这样做了(在你的情况下 phantomjs 也应该处理这个问题),但这是 EACCES 错误的主要来源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法让 phantomjs 在 aws lambda 上工作 的相关文章

随机推荐