0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

チュートリアル: Amazon S3 で AWS Lambda を使用するで、Lambda Layersを使ってみた

Posted at

やったこと

AWS公式のLambdaチュートリアルをベースに、画像変換ライブラリ"sharp"の依存関係を、Lambda Layersに切り出してみました。
Lambda Layersを使用することで、Lambda関数をマネジメントコンソール上で改修できるので便利ですね。

※補足
チュートリアルでは、Lambda関数と画像変換ライブラリ"sharp"をデプロイパッケージで管理していて、Lambda関数をマネジメントコンソール上で改修できません

本記事の概要

説明すること

  • Windowsで、画像変換ライブラリ"sharp"をzip圧縮する方法
  • マネジメントコンソールで、Lambda Layersにライブラリを登録して使用する方法

説明しないこと

  • Lambdaチュートリアルの内容
  • Lambda関数をマネジメントコンソール上で作成する手順

環境

  • Node.js 12.x
  • AWS CLI 2
  • Windows10

説明

Windowsで、画像変換ライブラリ"sharp"をzip圧縮する方法

1.コマンドプロンプトを起動し、任意のフォルダでnodejsフォルダを作成する。

...> mkdir nodejs

2.nodejsフォルダへ移動し、npm コマンドで 画像変換ライブラリ"sharp"を取得する。

.../nodejs> npm install --arch=x64 --platform=linux --target=12.13.0  sharp

3.nodejsフォルダを右クリックしてzip圧縮する。
※注意
powershellのcompress-archiveでzip圧縮した場合、Lambda Layer作成時に以下のエラーとなりました。

...> powershell compress-archive nodejs sharp

レイヤーバージョンを作成できませんでした: Layer conversion failed: Some directories do not have execute permissions;

4.sharp.zipのフォルダ構成を確認する。以下のフォルダ構造になっていればOK。

sharp.zip
└ nodejs
  |- package-lock.json
  |- /node_modules/sharp
  └ /node_modules/...

マネジメントコンソールで、Lambda Layersにライブラリを登録して使用する方法

1.Lambda Layerにsharp-layerを作成し、sharp.zipをアップロードする。詳細は以下の画面イメージを参照下さい。

image (1).png

image (7).png

2.Lambda関数にLambda Layerのsharp-layerを設定する。詳細は以下の画面イメージを参照下さい。
image (4).png

image (5).png

参考サイト

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?