教程: 尝试使用AWS Lambda在Amazon S3上使用Lambda Layers
做过的事情 (Zuò guò de
基于AWS官方的Lambda教程,我将图像转换库”sharp”的依赖关系提取到了Lambda Layers中。
通过使用Lambda Layers,我们可以在管理控制台上轻松修改Lambda函数,非常方便。
-
- チュートリアル: Amazon S3 で AWS Lambda を使用する
- https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-s3-example.html
※附言
在教程中,Lambda函数和图片转换库”sharp”是通过部署包进行管理的,无法在管理控制台上修改Lambda函数。
本文摘要
解释事情
-
- Windowsで、画像変換ライブラリ”sharp”をzip圧縮する方法
- マネジメントコンソールで、Lambda Layersにライブラリを登録して使用する方法
不进行解释
-
- Lambdaチュートリアルの内容
- Lambda関数をマネジメントコンソール上で作成する手順
环境
-
- Node.js 12.x
-
- AWS CLI 2
- Windows10
解释
在Windows系统中,将图像转换库”sharp”压缩为zip文件的方法是什么?
打开命令提示符,在任意文件夹中创建一个名为nodejs的文件夹。
...> mkdir nodejs
请进入nodejs文件夹,并使用npm命令下载图像转换库”sharp”。
.../nodejs> npm install --arch=x64 --platform=linux --target=12.13.0 sharp
右键单击nodejs文件夹并进行zip压缩。
注意:
如果使用powershell的compress-archive进行zip压缩,创建Lambda层时可能会出现以下错误。
...> powershell compress-archive nodejs sharp
レイヤーバージョンを作成できませんでした: Layer conversion failed: Some directories do not have execute permissions;
1. 确认sharp.zip文件夹的结构。如果符合以下文件夹结构就可以了。
sharp.zip
└ nodejs
|- package-lock.json
|- /node_modules/sharp
└ /node_modules/...
在管理控制台中,注册并使用Lambda Layers上的库的方式。
请在Lambda Layer中创建一个名为sharp-layer的图层,并上传sharp.zip文件。详细信息请参考以下屏幕截图。
只需一个选项,用中文本地化改写以下内容:
参考网站
-
- チュートリアル: Amazon S3 で AWS Lambda を使用する
-
- https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-s3-example.html
AWS Lambda レイヤー
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/configuration-layers.html
AWS Lambda Layersでnode_modulesを使う