web-dev-qa-db-ja.com

ラムダレイヤーにライブラリをインポートする

リクエストの検証を実行するために、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?
5
Punter Vicky

より簡単な方法があります。 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

0
Joseph