LamdaのPhtyonは、ライブラリがあるようでありません。
例えばrequestsとかpandaとかです。
AWS側で用意してくれないライブラリについては、ユーザ側でレイヤとして用意する必要があります。
今回は、私がこのレイヤ設定で失敗したポイントを2つご紹介。
両方とも理由はしょぼいです。
ケース1:Phtyonのバージョンが違う
私は、S9を使って普段開発しています。
ってきり、S9 のPhtyonは3.8かと思っていました。
そのため、S9でライブラリをzipにして、Lamdaでレイヤ登録。
Lamdaの実行をPhtyon3.8にしたら上手くレイヤが機能しませんでした。
原因はS9のPhtyonが3.7だったことが原因。
理由はしょぼいですが、ちゃんと環境チェックを事前にすべしとの教訓になりました。
S9のPhtyonは、python --version コマンドで確認しましょう。
レイヤがうまく起動しなかったらpython --versionでバージョン確認しましょう。
ケース2:Zipの中身のフォルダ名がpython じゃない。
これはLamdbaの謎仕様が原因。
Lamdbaにレイヤをあげる場合は、ZIpで固めます。
問題は、Zipの中身のフォルダ名がpython であることが必須なことです。
本当に頭にきます。
というか仕様確認漏れです。
複数のレイヤを用意したので、ライブラリ名でフォルダを作成していたら動きませんでした。
こちらも基本中の基本ですが、引っかかってしまいました。
まとめ
二つとも仕方のない事例ですが、ひっかかるとイライラするもの。
こんなことで開発が滞らないように注意しましょう。
created by Rinker
¥166 (2024/11/23 18:37:27時点 Amazon調べ-詳細)