如何在AWS层之间进行通信?

时间:2019-01-30 00:24:33

标签: node.js aws-lambda

嗨,我需要知道如何访问存储在AWS层中的文件

我正在使用Lambda Ghost ScriptPDF2IMG Lambda Friendly创建PDF标签。

我曾经用一个.zip压缩所有文件,然后将其上传到AWS Lambda(大小约为50MB),它具有下一个结构:

  • / node_modules / =>这是pdf2img-lambda友好的
  • / lambda-ghostscript / =>这是pdf2img使用的ghostscript库
  • /资产/
  • /index.js

在AWS Layers之前,部署过程很糟糕,因为由于庞大的程序包大小,我无法直接在AWS中进行更改。

在AWS Layers之后,我可以分离所有库(node_modules)并将它们放在一个层中,这减小了我的包的大小。我试图用lambda-ghostscript文件夹做同样的事情,但是库pdf2img-lambda-friendly)无法与ghostscript通讯,我收到一条ENOENT错误。

我尝试了几种“层”组合来“保留”上面的结构,甚至将GhostScript放在其自己的层中,但是没有用。

这些是我尝试过的层结构:

1) 一层:


/ nodejs / node_modules / / nodejs / lambda-ghostcript /


2) 两个不同的层:


/ nodejs / node_modules /



/ nodejs / lambda-ghostscript /


我能做的最好的事情是将所有库放在一个层中,并将代码和GhostScript保留在lambda中,并且可以工作,但是由于它仍然是一个庞大的程序包,因此无法解决我的部署问题,因此我无法在AWS Console中编辑代码。

我只想将我的代码保留在lambda中,并将其余的库和脚本分开,所以我可以在AWS Console中进行更改,但是我不知道AWS Layers是否可以做到这一点。

谢谢。

0 个答案:

没有答案