リクエストの検証を実行するために、AWS Lambdaにjsonschemaライブラリをインポートしたいと思いました。依存関係をアプリにバンドルするのではなく、Lambdaレイヤーを介してこれを実現しようとしています。すべての依存関係をvenv/lib/python3.6/site-packages/
に圧縮しました。これをラムダレイヤーとしてアップロードし、それぞれpublish-layer-version
コマンドとaws lambda update-function-configuration
コマンドを使用してawsラムダに追加しました。 Zipフォルダーの名前は「lambda-dep.Zip」で、すべてのファイルはその下にあります。しかし、lambda_functionにjsonschemaをインポートしようとすると、以下のエラーが表示されます-
from jsonschema import validate
{
"errorMessage": "Unable to import module 'lambda_api': No module named 'jsonschema'",
"errorType": "Runtime.ImportModuleError"
}```
Am I missing any steps are is there a different mechanism to import anything within lambda layers?
より簡単な方法があります。 pythonフォルダにパッケージをインストールします。次に、-t(ターゲット)オプションを使用してパッケージをインストールします。Zipファイルの「。」に注意してください。これはワイルドカードです。
mkdir lambda_function cd lambda_function mkdir python cd python pip install yoruPackages -t ./ cd .. Zip /tmp/labmda_layer.Zip。
これでZipファイルがラムダレイヤーになります。
ビデオの指示を含むステップバイステップの指示はここで見つけることができます。
https://geektopia.tech/post.php?blogpost=Create_Lambda_Layer_Python