我想将一些代码卸载到AWS Lambda,它抓取URL的屏幕截图的一部分并将其存储在S3中。它使用chrome-browser,后者又需要在Ubuntu上xvfb
运行。我相信我可以下载Linux 64位版本的chrome-browser并用我的应用程序压缩它。我不确定我是否可以xvfb
执行此操作。目前我使用apt-get install xvfb
,但我认为您无法在AWS Lambda中执行此操作?
有没有办法在AWS Lambda上使用或安装xvfb?
答案 0 :(得分:2)
不,这打破了lambda范例,即准备好一个完全构建的容器。
此外,您对xvfb所做的任何事情都可能会变慢。作为一般规则,lambdas应该在一秒钟内执行,否则你应该只有一台服务器。
我建议创建一个docker容器并制作一个自动缩放组。
答案 1 :(得分:2)
是的,您可以使用位配置在aws lambda上使用Xvfb
。有关工作示例,请参阅https://github.com/nisaacson/aws-lambda-xvfb
要使其正常工作,您需要使用一些特殊配置值编译Xvfb
和xkbcomp
。然后,您需要使用lambda函数捆绑一些共享库...
使用以下标志编译xorg-server以获取Xvfb
二进制文件
./configure
--with-xkb-path=/var/task/xkb \
--with-xkb-output=/tmp \
--with-xkb-bin-directory=/var/task/bin
使用以下标志
编译xkbcomp
./configure \
--prefix=/usr \
--with-xkb-config-root=/var/task/xkb
使用以下标志
编译xkeyboard-config
./configure \
--prefix=/usr \
--with-xkb-base=/var/task/xkb