web-dev-qa-db-fra.com

Importer des bibliothèques dans des couches lambda

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?
5
Punter Vicky

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

0
Joseph