适用于VS Node.js中AWS Lambda函数的Sharp图像库

时间:2017-10-10 12:55:21

标签: node.js visual-studio amazon-ec2 aws-lambda sharp

我正在使用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函数兼容?如果是这样,它是否通过使用本机处理提高了速度?

1 个答案:

答案 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编译的(而不是我的主机系统),我无法直接测试。