Essayez d'utiliser Python avec Google Cloud Functions

Il est devenu Public Beta, mais il semble que le support Python ne soit pas encore disponible, donc je vais essayer de l'utiliser.

Préparation

Je n'ai pas écrit Node.js, mais j'ai écrit Gugu comme ça.

index.js


const spawnSync = require('child_process').spawnSync;

exports.helloWorld = function helloWorld(req, res) {
  
  result = spawnSync('python', ['./inspect.py'], {
    stdio: 'pipe',
  });
  
  if (result.stdout){
    res.status(200).send(result.stdout);
  }else if (result.stderr){
    res.status(200).send(result.stderr);
  }
};

inspect.py


print('hello functions!')

Compressez ces deux fichiers avec Zip et téléchargez-les sur l'écran de la console de Cloud Functions.

Cloud_Functions_-_Test_fx_lab.png

Cela termine le déploiement, HTTP Trigger, donc si vous ouvrez l'URL décrite dans le navigateur, Python affichera «Hello functions!».

Environnement Python

Maintenant que je sais que je peux utiliser Python, examinons un peu plus en détail.

inspect.py


try:
    import tensorflow as tf
    print('tensorflow %s' % tf.__version__)
except:
    print('tensorflow n/a')

try:
    import sklearn
    print('sklearn %s' % sklearn.__version__)
except:
    print('sklearn n/a')

try:
    import numpy as np
    print('numpy %s' % np.__version__)
except:
    print('numpy n/a')

try:
    import scipy as sp
    print('scipy %s' % sp.__version__)
except:
    print('scipy n/a')

Dressez la liste de l'existence de la bibliothèque qui m'intéressait pour le moment. ・ ・ ・ ** Il a été anéanti ** La bibliothèque tierce ne semble pas préparée.

Ce que j'ai fait un rapide coup d'œil

Python version 2.7.9
OS Système Debian 8.7
pip N/A
easy_install N/A
File System read only

Étant donné que le système de fichiers est en lecture seule, il semble impossible d'installer et d'utiliser quelque chose au moment de l'exécution. Cependant, il ne semble pas y avoir de limite au format de fichier inclus dans Zip au moment du déploiement, donc Il semble qu'il puisse être exécuté si vous mettez le binaire etc. à l'avance.

référence

Googler fait de même avec Go. Cela peut être plus utile. https://github.com/kelseyhightower/google-cloud-functions-go

finalement

Actuellement, utiliser Python demande beaucoup de travail, mais je pense que c'est un environnement dans lequel vous pouvez exécuter des fonctions très facilement lorsque vous utilisez Node.js comme d'habitude. Il est très intéressant de pouvoir écrire rapidement sur la console et de se déployer immédiatement.

Recommended Posts

Essayez d'utiliser Python avec Google Cloud Functions
Essayez une formule utilisant Σ avec python
[GCP] Exploitez Google Cloud Storage avec Python
Comment se connecter à Cloud Firestore à partir de Google Cloud Functions avec du code Python
Essayez de gratter avec Python.
[Azure] Essayez d'utiliser Azure Functions
Essayez d'utiliser Tweepy [Python2.7]
Essayez-le avec JupyterLab en Python japonais Word Cloud.
Essayez d'exécuter Google Chrome avec Python et Selenium
Curry n'importe quelle fonction avec Python ...
Introduction aux fonctions Python
[S3] CRUD avec S3 utilisant Python [Python]
[Python] Essayez d'utiliser le canevas de Tkinter
Essayez Google Mock avec C
Utilisation de Quaternion avec Python ~ numpy-quaternion ~
Essayez d'utiliser matplotlib avec PyCharm
Essayez facilement Amazon EMR / Cloud Dataproc avec Python [mrjob]
Essayez la sortie Python avec Haxe 3.2
Essayez d'utiliser Kubernetes Client -Python-
Étudiez Python avec Google Colaboratory
[Python] Utilisation d'OpenCV avec Python (basique)
Essayez de projeter la conversion d'image en utilisant OpenCV avec Python
Un moyen facile de gratter avec Python en utilisant Google Colab
Essayez d'exécuter Python avec Try Jupyter
Procédure de transcription vocale à l'aide de Python et de l'API Google Cloud Speech
Accédez à Google Drive avec Python
Essayez la reconnaissance faciale avec Python
Essayez OpenCV avec Google Colaboratory
Essayez d'utiliser le folium avec anaconda
Utiliser OpenCV avec Python @Mac
Envoyer en utilisant Python avec Gmail
Premiers pas avec python3 # 3 Essayez des calculs avancés à l'aide de l'instruction d'importation
Cloud Functions pour redimensionner les images à l'aide d'OpenCV avec le déclencheur Cloud Storage
Essayez de juger des photos de plats à l'aide de l'API Google Cloud Vision
Touchez NoSQL avec Python à l'aide d'Oracle NoSQL Database Cloud Simulator
Essayez le chiffrement / déchiffrement à l'aide de la clé OpenSSL avec la fonction pow de Python3
Essayez d'implémenter la régression linéaire à l'aide de Pytorch avec Google Colaboratory
Jouez avec l'API de données YouTube v3 à l'aide du client Python de l'API Google
Compléter python avec emacs en utilisant company-jedi
Imprimez un PDF à l'aide de Google Cloud Print. (GoogleAPI)
Moyenne harmonique par Python (en utilisant SciPy)
Essayez de gratter avec Python + Beautiful Soup
[Package cloud] Gérez les packages python avec le package cloud
Azure Functions: essayez des fonctions durables pour Python
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
Utilisation de Rstan de Python avec PypeR
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Essayez d'exploiter Facebook avec Python
[Python3] Google translate google translation sans utiliser l'API
[Python] Utilisation d'OpenCV avec Python (détection des bords)
Essayez la décomposition de valeurs singulières avec Python
Essayez d'utiliser l'API de Pleasant (python / FastAPI)
Exécutez XGBoost avec Cloud Dataflow (Python)
Utilisation de variables globales dans les fonctions python
Utiliser Cloud Storage depuis Python3 (Introduction)
10 fonctions du "langage avec batterie" python
Essayez la reconnaissance faciale avec python + OpenCV
Essayez d'utiliser l'API d'action de Python argparse