En este artículo, veremos cómo usar Google Cloud Function con python en cualquier sitio web.
Para hacerlo, siga los siguientes pasos:
Paso 1: Primero vayamos al sitio del administrador de funciones en Google Cloud Platform (GCP). Debería verse como a continuación:
Paso 2: Ahora vamos a crear nuestra función. Haga clic en » CREAR FUNCIÓN» en la parte superior.
Paso 3: A continuación debería aparecer una ventana como esta. Aquí en el nombre de la función, dé cualquier nombre. Y si no vas a utilizar ninguna autenticación, elige “ Permitir invocaciones no autenticadas ”. Para este ejemplo en particular, al menos, elegiremos » Permitir invocaciones no autenticadas «. No es necesario cambiar otras opciones. Ahora presione el botón » SIGUIENTE «.
Paso 4: ahora obtendrá una URL de activación . Copie esta URL en algún lugar, ya que esta es la URL que usaremos para invocar nuestra función. Luego presione » SIGUIENTE «.
Paso 5: Ahora, en » Tiempo de ejecución «, seleccione una versión de Python . Hemos seleccionado “Python 3.8”. Ahora aquí viene la parte principal, el CÓDIGO FUENTE de la función. En este momento, si implementa la función, lo más probable es que no funcione porque, en el código fuente, no hay un encabezado de » Control de acceso «. Esto significa que cuando invoque esta función desde un navegador como Firefox o Chrome, no funcionará. Así que usemos nuestro propio código fuente .
request_json = request.get_json() extrae el objeto JSON enviado por el cliente. El siguiente código especifica el ámbito de acceso del usuario. La siguiente línea de código verifica si hay un encabezado de «Mensaje» en los encabezados. En caso afirmativo, envíe su valor y el JSON recuperado como respuesta al cliente. De lo contrario, envíe todo el contenido del encabezado junto con cualquier JSON recuperado al cliente. Eso es todo por el código fuente.
Pero antes de probar la función, aquí hay algunas cosas. El » Punto de entrada » junto al » Tiempo de ejecución » muestra el método que se invocará cuando se reciba una solicitud. En la sección del código fuente, también verá el archivo requirements.txt . Este archivo se usa para especificar dependencias adicionales para su función. Para consultas adicionales sobre requisitos.txt , puede consultar esta documentación.
Paso 6: Ahora presionemos » Implementar » para implementar la función. Ahora será redirigido nuevamente al sitio del administrador de funciones. La función debería tardar entre 1 y 2 minutos en implementarse.
Ahora, probemos nuestra función.
Paso 7: Vamos a crear un archivo test.html desde donde podamos llamar a nuestra función usando JavaScript.
En «Su URL de activación» en la línea 14, pegue la URL de activación que copió antes. Establecemos un encabezado «Tipo de contenido» para decirle a nuestra función, qué tipo de datos hemos enviado. En nuestro caso, es JSON. A continuación, configuramos un encabezado llamado «Mensaje» solo con fines de prueba. Luego especificamos qué hacer cuando se ha recibido la respuesta. Y por último, envíe algunos datos ficticios como JSON. Ahora ejecutemos el siguiente archivo HTML en un navegador.
HTML
<!DOCTYPE html> <html> <head> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> <title>GCP Function</title> </head> <body> <p id="p">Processing...</p> <script> function httpGet() { var xmlHttp = new XMLHttpRequest(); xmlHttp.open("POST", "Your trigger URL"); xmlHttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); xmlHttp.setRequestHeader("message", "Header: This is head"); xmlHttp.onload = function () { document.getElementById("p").innerHTML=xmlHttp.responseText; }; xmlHttp.send(JSON.stringify({"Body": "This is body"})); } httpGet(); </script> </body> </html>
¡Y bravo! ¡Aquí está la respuesta! Todo está funcionando. Pero, ¿qué sucederá si codifica mal en el código fuente de la función? Google está ahí para el rescate.
Haz clic en la función que creaste. En la siguiente ventana, seleccione la pestaña » REGISTROS » para ver los registros de su función.
Publicación traducida automáticamente
Artículo escrito por jafarabbas y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA