AWS Lambda で Python の外部モジュールを使う

2021年4月6日

はじめに

AWS Lambda で Python の外部モジュールを導入して使う。Linux が必要。ここでは Ubuntu 18.04 を用いた。

Lambda で Python モジュールを使う

まず、自分の環境の Python のバージョンが、Lambda で使えるか確認する。Lambda のランタイムのバージョンを自分の環境と同じに設定する。

用意したスクリプトの名前を lambda_function.py にする。main() 関数にメインの処理があるものとして、以下を追加。

def lambda_handler(event, context):
    main()

必要なパッケージを pip でカレントに入れる。ここでは janome を入れる例を示す。

$ pip install janome -t .

パーミッションの設定。

$ chmod 644 $(find . -type f)
$ chmod 755 $(find . -type d)

参考

(ディレクトリごとではなく) ディレクトリ内のファイルを Zip 圧縮する。

$ zip -r9 lambda.zip .

Lambda にアップロードしてテストしてみるとよい。モジュールのインポートに時間がかかるようで、タイムアウトを長めにしたほうがよい。