Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AWS Lambda木偶演员_Javascript_Node.js_Aws Lambda_Puppeteer - Fatal编程技术网

Javascript AWS Lambda木偶演员

Javascript AWS Lambda木偶演员,javascript,node.js,aws-lambda,puppeteer,Javascript,Node.js,Aws Lambda,Puppeteer,由于失去了两周的时间,我试图在AWS Lambda上安装木偶师,但没有成功 我尝试过: 和 我的最终代码是: 替换index.js: 作者: 另外,我使用的是windows 7,因此为了构建包,我删除/更改了package.json for scripts部分中的许多内容。 我已经创建了有和没有巴贝尔和皮棉包。此外,我还尝试了不同版本的木偶演员和chronium 有人建议我将木偶演员的版本修改为1.1.1,但没有成功。 请参阅会议记录和会议记录: 我总是在aws上遇到此错误: {

由于失去了两周的时间,我试图在AWS Lambda上安装木偶师,但没有成功

我尝试过: 和

我的最终代码是:

替换index.js:

作者:

另外,我使用的是windows 7,因此为了构建包,我删除/更改了package.json for scripts部分中的许多内容。 我已经创建了有和没有巴贝尔和皮棉包。此外,我还尝试了不同版本的木偶演员和chronium

有人建议我将木偶演员的版本修改为1.1.1,但没有成功。 请参阅会议记录和会议记录:

我总是在aws上遇到此错误:

{
    "errorMessage": "Failed to launch chrome! spawn /tmp/headless_shell ENOENT\n\n\nTROUBLESHOOTING: [...]",
    "errorType": "Error",
    "stackTrace": [
        "",
        "",
        "TROUBLESHOOTING:[..]",
        "",
        "onClose (/var/task/node_modules/puppeteer/lib/Launcher.js:299:14)",
        "ChildProcess.helper.addEventListener.error (/var/task/node_modules/puppeteer/lib/Launcher.js:290:64)",
        "emitOne (events.js:116:13)",
        "ChildProcess.emit (events.js:211:7)",
        "Process.ChildProcess._handle.onexit (internal/child_process.js:196:12)",
        "onErrorNT (internal/child_process.js:372:16)",
        "_combinedTickCallback (internal/process/next_tick.js:138:11)",
        "process._tickDomainCallback (internal/process/next_tick.js:218:9)"
    ]
}
配置AWS: 我使用了从AmazonS3上传文件选项,因为它总是在UI和CLI命令超时时完成

运行时:Node.js 8.10

处理程序:index.Handler

可执行角色:lambda_基本_执行。为了以防万一,我还尝试了一个对lambda和S3有完全访问权的自定义角色

超时时间:30秒

内存:3008MB


如果有人能给我一点指导。

我终于成功地部署了sambaiz包。此外,我还将chronium更新为最新稳定版本HeadlessChrome/68.0.3440.106和最新版本的Puppeter 1.7.0

如果您想构建自己的软件包,并且您在windows上,您可以:

下载: 由我更改package.json: 将.babelrc中节点的版本更改为8.10 npm安装babel(如果尚未安装) npm运行包 将chrome/headless_shell-67.0.3361.0.tar.gz复制到dist 将dist/headless_shell-67.0.3361.0.tar.gz重命名为headless_shell.tar.gz 压缩dist的内容,就可以部署包了
我也经历过这一痛苦的过程,我建议您看看Google Cloud函数,因为Google Cloud函数从package.json文件安装NPM包,而不是您必须在本地安装它们并上传node_modules目录,这就是AWS 50MB的限制

您可以执行以下操作:

gcloud函数部署屏幕截图-运行时节点JS8-触发http-内存=2048MB-超时=60-项目=xyz-欧洲-西部地区1
Puppeter需要工作的Chromium具有一些必须安装在服务器OS上的依赖项。因此,不可能在lambda上用完盒子。如果您发现的现有github repo无法工作,我建议您考虑使用“适当”的服务器EC2实例。感谢EC2建议。如果没有找到修复github的方法,我会检查这个,也许我在创建包的时候做错了什么。我希望已经这样做的人能够测试并检查包是否正确。我终于成功地部署了sambaiz包。请看这里:请不要把答案作为问题的编辑,你可以把它作为你自己的问题的答案贴在下面,这将帮助其他有同样问题的人。此外,如果你把完整的解决方案,而不仅仅是链接,它将有助于防止链接后来被迁移或变得不可访问。嗨serakfalcon,是的,当然。谢谢 { "name": "puppeteer-lambda-starter-kit", "version": "1.1.2", "description": "Starter Kit for running Headless-Chrome by Puppeteer on AWS Lambda", "scripts": { "package": "npm run package-prepare", "package-prepare": "npm run babel && copy package.json dist && cd dist && npm config set puppeteer_skip_chromium_download true -g && npm install --production", "babel": "mkdir dist && \"./node_modules/.bin/babel\" src --out-dir dist", "local": "npm run babel && copy node_modules dist && node dist/starter-kit/local.js", "package-nochrome": "npm run package-prepare && cd dist && zip -rq ../package.zip ." }, "dependencies": { "babel": "^6.23.0", "puppeteer": "^1.1.1", "tar": "^4.0.1" }, "devDependencies": { "aws-sdk": "^2.111.0", "babel-cli": "^6.26.0", "babel-preset-env": "^1.6.0" } }