在互联网上其他任何地方找不到工作答案之后,我正在提交这个问答自己的教程
如何从AWS Lambda的NodeJS脚本中获取一个简单的PhantomJS进程?我的代码在本地机器上工作正常,但我遇到了不同的问题,试图在Lambda上运行它.
解决方法
以下是一个简单的PhantomJS进程的完整代码示例,它作为NodeJS child_process启动.
It is also available on github.
index.js
var childProcess = require('child_process'); var path = require('path'); exports.handler = function(event,context) { // Set the path as described here: https://aws.amazon.com/blogs/compute/running-executables-in-aws-lambda/ process.env['PATH'] = process.env['PATH'] + ':' + process.env['LAMBDA_TASK_ROOT']; // Set the path to the phantomjs binary var phantomPath = path.join(__dirname,'phantomjs_linux-x86_64'); // Arguments for the phantom script var processArgs = [ path.join(__dirname,'phantom-script.js'),'my arg' ]; // Launc the child process childProcess.execFile(phantomPath,processArgs,function(error,stdout,stderr) { if (error) { context.fail(error); return; } if (stderr) { context.fail(error); return; } context.succeed(stdout); }); }
幻像的script.js
var system = require('system'); var args = system.args; // Example of how to get arguments passed from node script // args[0] would be this file's name: phantom-script.js var unusedArg = args[1]; // Send some info node's childProcess' stdout system.stdout.write('hello from phantom!') phantom.exit();
要获得与Amazon的Linux机器配合使用的PhantomJS二进制文件,请转到PhantomJS Bitbucket Page并下载phantomjs-1.9.8-linux-x86_64.tar.bz2.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。