やること
- ローカル環境でlambda関数で使用するライブラリをインストール
- ライブラリをzip化
- lambda関数にレイヤーを設定
環境
- lambda
- Python
- Windows(WSL,ubuntu)
ライブラリを用意
lambda関数で使用するライブラリをインストールする。ここではsqlalchemyとしておく。
ローカル環境でvenv仮想環境を構築して、sqlalchemyをインストール。
python -m venv venv
source venv/bin/activate
pip install sqlalchemy
deactivate
ライブラリをzip化
# 適当なディレクトリにpythonディレクトを作成
mkdir /home/hoge/tmp/python
# 仮想環境でインストールしたライブラリをコピー
cp -r venv/lib /home/hoge/tmp/python/
# zip化
cd /home/hoge/tmp
zip -r layer_content.zip python
※ライブラリはこのディレクトリ構成になっている必要がある
- python/lib/python3.x/site-packages (サイトディレクトリ)
- python
lambda関数にレイヤーを設定
- Lambdaコンソールを開く
- 左側のメニューペインのレイヤーページを開く
- レイヤーの作成で、先ほど作成したzipファイルをアップロード
- lamda関数を開き、レイヤーの追加で、作成したレイヤーを追加する
参考:
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/packaging-layers.html
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/python-layers.html