Viene de https://itnext.io/writing-google-cloud-functions-with-python-3-49ac2e5c8cb3
Hasta hace poco, Node.js 6 era la única opción para escribir funciones de Google Cloud. Eso ha cambiado ahora con la adición de Node.js 8 y los también se puede ejecutar de Python 3 disponibles en la versión beta pública.
Hasta hace poco, Node.js 6 era la única opción para escribir funciones de Google Cloud. Eso ha cambiado ahora con la adición de Node.js 8 y los también se puede ejecutar de Python 3 disponibles en la versión beta pública.
Veamos cómo usar el entorno de Python al implementar una función HTTP que realiza la misma tarea que hace la demostración de Node.js 8 Cloud Functions. Usaremos la biblioteca de request y la API randomuser.me para generar un objeto JSON que representa esos datos sobre un solo usuario, luego agregaremos una clave adicional llamada generator ...
----------------------------------------------------------------------------------------
import flask
import requests
def getUserDetails(request):
user = requests.get('https://randomuser.me/api/').json()
user = user['results'][0]
user['generator'] = 'google-cloud-function'
return flask.jsonify(user)
----------------------------------------------------------------------------------------
Este código incluyen:
- El tiempo de ejecución de Python utiliza Python 3.7.0
- Tus funciones tienen que estar dentro de en un archivo llamado main.py
- Las funciones se ejecutan dentro del framework Flask.
- El argumento de request de la función será un objeto de solicitud Flask.
- La función debe devolver todo lo que se puede hacer en un objeto de respuesta de Flask utilizando make_response de Flask; en este caso, pasamos una cadena JSON
- Las dependencias se especifican en requirements.txt, que se ve así para nuestro ejemplo (los números de versión también se pueden especificar, por ejemplo, request=2.19.1):
----------------------------------------------------------------------------------------
$ gcloud components update
$ gcloud components install beta
----------------------------------------------------------------------------------------
El despliegue es simple (tenemos que usar los comandos beta y explícitamente decir que queremos el usar Python):
----------------------------------------------------------------------------------------
$ gcloud beta functions deploy getUserDetails --runtime python37
--trigger-http --project
----------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------
https://-.cloudfunctions.net/getUserDetails
----------------------------------------------------------------------------------------
La salida se ve así:
Ejemplo de salida de la cloud function usando Python.
Salida de ejemplo de Google Cloud Function usando Python:
Y eso es todo lo que hay que hacer!
Si quieres usar o estudiar el código de este artículo: lo puso en GitHub. La documentación de Google para el runtime de Python Cloud Functions se puede leer aquí.
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.