やりたいこと
AWS Lambdaでサードパーティ製のライブラリを使う方法についてです。 今回はPythonを取り上げます。
結論
- 公式で出しているレイヤーを使う
- すでに公開されているレイヤーを使う
- 自作レイヤーを使う
のいずれかです。上からの順序で試してみることをオススメします。
1. 公式で出しているレイヤーを使う
Pythonでやりたい大体のことは、AWS Wranglerでできます。
例えば、
- 東京リージョン
- Python3.10
- arm64
としたとき、
arn:aws:lambda:ap-northeast-1:336392948345:layer:AWSSDKPandas-Python310-Arm64:9
のARNを指定すればOKです(めちゃくちゃ簡単!)。
これだけで、
import pandas as pd import numpy as np
はできちゃいます(awswranglerがこれらのライブラリをラップしているので)。
そのほか、様々なライブラリがラップ(=awswranglerを使うために、内部的にインストールされている)されています。
そもそもawswranglerってなに?については、こちらを参照ください。
その他、公式が出しているものにaws lambda powertools
というものがあります。
Loggerなどに便利です。
2.すでに公開されているレイヤーを使う
awswrangler
やaws lambda powertools
でもインストールできないライブラリについてはこちらの方法を参照してください。
すでに先人が用意してしてくれているLayerがあります。
例えば、
- 東京リージョン
- Python3.8
だとしたとき、matplotlib
はこの一行でインストールできます。
arn:aws:lambda:ap-northeast-1:770693421928:layer:Klayers-p38-matplotlib:25
3.自作レイヤーを使う
その他、特殊な要件やマイナーなライブラリを使う場合は、自作したレイヤーを使うことになります。
こちらは、様々な情報がネット上にあるので詳細は割愛します。
AWS公式資料は、以下のようになっています。