Les Pandas & AWS Lambda
Personne ne dispose d'une version compilée de pandas qui est compatible avec AWS Lambda?
Après avoir cherché pendant quelques heures, je n'arrive pas à trouver ce que je recherche et la documentation sur ce sujet est inexistante.
J'ai besoin d'accéder à l'emballage dans une fonction lambda toutefois, j'ai échoué à obtenir le package de compiler correctement pour une utilisation dans une fonction Lambda.
En lieu et place de la compilation quelqu'un peut-il fournir reproductible étapes pour créer les fichiers binaires?
Malheureusement je n'ai pas réussi à reproduire l'une quelconque des guides sur des sujets comme la plupart ils combinent les pandas avec scipy qui je n'ai pas besoin et ajoute une couche supplémentaire de charge.
- Vérifiez la réponse est stackoverflow.com/a/43766512/345606 pour les conseils, y compris les paquets Python, comme les Pandas, qui ont compilé le code.
Vous devez vous connecter pour publier un commentaire.
Je crois que vous devriez être en mesure d'utiliser la récente pandas version (ou probablement, l'une sur votre machine). Vous pouvez créer un lambda paquet avec des pandas par vous-même comme cela,
D'abord trouver où les pandas package est installé sur votre machine, c'est à dire Ouvrir un python terminal et tapez
Qui doit afficher quelque chose comme
'/usr/local/lib/python3.4/site-packages/pandas/__init__.py'
'/usr/local/lib/python3.4/site-packages/pandas
) et le placer dans votre référentiel.L'emballage de vos Lambda code avec les pandas comme ceci:
Vous pouvez également déployer votre code de S3 et de faire vos Lambda utiliser le code de S3.
Voici le repo qui vous permettra de commencer
Après quelques retouches autour et beaucoup de recherches sur google, j'ai pu faire tout le travail et l'installation d'un repo qui peuvent seulement être cloné dans le futur.
Plats à emporter clés:
Dépôt Github:
https://github.com/moesy/AWS-Lambda-ML-Microservice-Skeleton
Je sais que la question a été posée il y a quelques années et Lambda est sur une autre scène d'alors.
J'ai fait face à des problèmes similaires, dernièrement, et j'ai pensé que ce serait une bonne idée d'ajouter la nouvelle solution pour les futurs utilisateurs confrontés au même problème.
Il s'avère que amazon a publié le concept de calques dans le re:Inventer de 2018. C'est une grande fonctionnalité. Ce post dans un milieu qu'il décrit beaucoup mieux que j'ai pu ici: La création de Nouveaux AWS Lambda Couche Pour Python Pandas Bibliothèque
J'ai réussi à déployer une pandas code dans aws lambda à l'aide de python3.6 de l'exécution . c'est l'étape que j'ai suivi :
c'est un helper : https://github.com/ysfmag/aws-lambda-py-pandas-template
Une autre option consiste à télécharger le pré-compilé roue de fichiers comme expliqué sur ce post: https://aws.amazon.com/premiumsupport/knowledge-center/lambda-python-package-compatible/
Essentiellement, vous avez besoin d'aller à la page du projet sur https://pypi.org et de télécharger les fichiers nommés comme suit:
Puis décompressez-le .whl les fichiers de votre répertoire de projet et de re-compresser le contenu avec vos lambda code.
REMARQUE: La principale fonction Python fichier(s) doit être dans le dossier racine de la package de déploiement .fichier zip. D'autres modules Python et dépendances en sous-dossiers. Quelque chose comme:
lambda_function.py
fichier dans la racine de votre .fichier zip avec les différents dossiers package?Il y a quelques paquets précompilés sur github par ryfeus.