2

我正在 Visual Studio 中处理需要快速调整图像大小的 AWS Lambda 函数。最初,我使用 ImageMagick 来调整这些图像的大小,但整个过程处理时间太长。ImageMagick 的替代品似乎是另一个图像库 Sharp。据说夏普将使用原生 AWS Lambda 代码来更快地调整图像大小。根据这篇文章,需要在 EC2 实例中构建 Sharp 才能执行此操作(https://github.com/awslabs/serverless-image-resizing)。

我还不能让它工作。这里有没有人让这个工作呢?如果是这样,是否有为 Sharp 内置在 EC2 中的预构建库,还是我应该自己构建它?

我确实在 npm 中找到了一个 Sharp 库,但我无法让它工作。npm 中的 Sharp 库是否与 AWS Lambda 函数兼容?如果是这样,它是否通过使用本机处理提高了速度?

4

1 回答 1

1

为了让我在 AWS Lambda 上工作更敏捷,我可以在我的文件中添加一个 npm 脚本,package.json然后npm run dockerbuild使用docker-lambda进行操作。这在 Amazon Linux docker 映像上编译,但将输出留在我的项目文件夹中(因此我可以打包 .zip 以部署到 AWS Lambda)。

  "scripts": {
    "dockerbuild": "docker run -v \"$PWD\":/var/task lambci/lambda:build-nodejs6.10"
  },

之后我还能够在 docker 映像中进行测试npm install docker-lambda——因为Sharp 本机库是为 Linux(而不是我的主机系统)编译的,所以我无法直接测试。

于 2017-12-11T17:43:56.173 回答