web-dev-qa-db-fra.com

Python dans les fonctions de Google Cloud

Google Cloud Functions peut-il gérer python avec des packages tels que sklearn, pandas, etc.? Si tel est le cas, quelqu'un peut-il m'orienter vers des ressources sur la manière de le faire?.

Je cherche depuis un moment et il semble que cela soit impossible. Tout ce que j'ai trouvé, ce sont des ressources pour déployer le langage Python de base sur Google Cloud.

8
Sean

Python 3.7 est maintenant supporté.
Étapes pour en créer un via la console google cloud:

  1. allez dans les fonctions google cloud dans la console google cloud et cliquez sur créer une fonction  enter image description here

2. spécifiez les propriétés de la fonction  enter image description here

  1. sélectionnez trigger  enter image description here

4.changez le runtime en python 3.7  enter image description here

  1. entrez votre logique de fonction cloud et votre point d'entrée  enter image description here

  2. entrez les dépendances Python dans Requirements.txt  enter image description here

Exemple de code (for Firestore): https://github.com/adihat/firestore-cloud-functions

13
Adarsh

EDIT: À partir de juillet 2018, il existe maintenant un Python runtime (3.7) disponible pour les fonctions Google Cloud!

OLD REPONSE: Les fonctions Google Cloud (GCF) sont écrites en JavaScript (exécutées dans un environnement d'exécution Node.js), donc il n'y a aucun moyen pour eux de gérer réellement Python en ce moment. Il existe un module Python dans GitHub que vous avez peut-être rencontré et il peut être utilisé pour écrire et déployer GCF avec l'un des trois types de déclencheurs: http, Pub/Sub et bucket. Le module s’occupe de la traduction de votre logique Python en un code JavaScript qui sera ensuite exécuté dans Google Cloud Platform.

Quand il s’agit d’autres forfaits comme pandas , la «traduction» en JavaScript n’a été préparée pour eux par personne, autant que je sache. Si vous n'aimez vraiment pas l'idée de sauter dans JavaScript et d'écrire vous-même le code de fonction de nuage (avec la logique que vous avez l'intention d'utiliser dans un script Python), vous avez une solution de contournement possible. Vous pouvez évoquer votre script Python depuis l’intérieur de la fonction Cloud écrite en JS - l’idée a été discutée dans ce sujet . Une autre façon consiste à utiliser les notifications de changement d’objet ou les notifications Pub/Sub comme expliqué ici .

11
arudzinska

À compter du 19 juillet 2018, Google Cloud Functions prend en charge Python 3.7.

Veuillez vérifier l'environnement d'exécution pour trouver le moteur d'exécution Python 3.7 et un exemple de script (basé sur Flask).

--MIS À JOUR--

Documentation officielle pour les fonctions Google Cloud - Support de Python 3.7 Version bêta. 

Il s'agit d'une version bêta de l'exécution Python pour Google Cloud Les fonctions. Cette fonctionnalité peut être modifiée de manière incompatible avec les versions antérieures et n'est soumis à aucune politique SLA ou dépréciation.

SkLearn, Numpy est pris en charge dans la fonction Google Cloud. De plus, j'ai testé un échantillon pour confirmer la disponibilité des pandas et son bon fonctionnement.

https://github.com/mkanchwala/google-functions-python-example

J'espère que cela aidera tous les amoureux de "Py".

8
Murtaza Kanchwala

Vous pouvez également utiliser AWS lambda si vous souhaitez contourner le problème et continuer à utiliser Python comme langue principale. Certains modules/packages devront être importés via un fichier Zip avec AWS Lambda, mais la gamme de langues utilisables est plus étendue que GCF

2
Raph