我正在使用Visual Studio中的AWS Lambda函数调用快速调整图像大小。最初,我使用ImageMagick来调整这些图像的大小,但整个过程花费的时间太长而无法处理。 ImageMagick的替代品似乎是夏普,另一个图像库。据称,夏普将使用Native AWS Lambda代码来更快地调整图像大小。根据这篇文章,夏普需要在EC2实例中构建(https://github.com/awslabs/serverless-image-resizing)。
我还没能让它工作。有没有人在这里工作呢?如果是这样的话,那么在EC2中是否有一个预制的库用于Sharp,或者我应该自己构建它?
我确实在npm找到了一个Sharp库,但我无法让它工作。 npm中的Sharp库是否与AWS Lambda函数兼容?如果是这样,它是否通过使用本机处理提高了速度?
答案 0 :(得分:1)
为了在AWS Lambda上为我工作,我能够在package.json
中添加npm脚本,然后使用docker-lambda执行npm run dockerbuild
。这是在Amazon Linux docker镜像上编译的,但是输出是在我的项目文件夹中(所以我可以打包.zip以便部署到AWS Lambda)。
"scripts": {
"dockerbuild": "docker run -v \"$PWD\":/var/task lambci/lambda:build-nodejs6.10"
},
我还能够在npm install docker-lambda
之后在docker镜像内部进行测试 - 因为尖锐的本机库是为Linux编译的(而不是我的主机系统),我无法直接测试。