Je voulais importer la bibliothèque jsonschema dans mon AWS Lambda afin d'effectuer la validation de la demande. Au lieu de regrouper la dépendance avec mon application, je cherche à le faire via Lambda Layers. J'ai compressé toutes les dépendances sous venv/lib/python3.6/site-packages/
. J'ai téléchargé ceci en tant que couche lambda et l'ai ajouté à mon aws lambda en utilisant publish-layer-version
et aws lambda update-function-configuration
commandes respectivement. Le dossier Zip est nommé "lambda-dep.Zip" et tous les fichiers s'y trouvent. Cependant, lorsque j'essaie d'importer jsonschema dans ma fonction lambda_function, je vois l'erreur ci-dessous -
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?
Il existe une méthode plus simple. Installez simplement les packages dans un dossier python. Installez ensuite les packages à l'aide de l'option -t (Target). Notez le "." Dans le fichier Zip. Il s'agit d'un caractère générique.
mkdir lambda_function cd lambda_function mkdir python cd python pip installe yoruPackages -t ./[.____. diplomatique .. Zip /tmp/labmda_layer.Zip.
Le fichier Zip est maintenant votre couche lambda.
Les instructions étape par étape comprenant des instructions vidéo peuvent être trouvées ici.
https://geektopia.tech/post.php?blogpost=Create_Lambda_Layer_Python