¡Aprendamos a utilizar las funciones serverless en menos de 30 minutos!
Las funciones serverless están ganando popularidad y Netlify hace que sea más fácil que nunca comenzar. Para agregar funciones serverless a un proyecto, simplemente necesita agregar sus funciones a una carpeta específica e indicarle a Netlify en qué carpeta se encuentran.
Debes tener un cuenta en Netlify o registrarte
npm i -g netlify-cliLuego de instalar puedes verificar la version
ntl --versiono
netlify --versionVas a crear un nuevo repositorio usando este template, luego vas a clonarlo en tu carpeta local
Luego de que clones el repositorio, dentro de la carpeta del proyecto vas a ejecutar el siguiente comando y seguir los pasos que alli te van mostrando.
ntl initVamos a crear nuestra primera cloud functions, para ello vamos a crear un archivo en la siguiente ruta. ./src/hello.js
Puedes puedes hacerlo por tu editor de codigo favorito o por la la terminal
touch ./src/hello.jsEn este archivo vamos a escribir el siguiente codigo:
exports.handler = async () => {
const result = {
message: 'Hello from Netlify Functions!',
};
const response = {
statusCode: 200,
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(result),
};
return response;
};Para probar esta funcion, primero debemos hacer un par de pasos mas.
El archivo netlify.toml es un archivo de configuración que especifica cómo Netlify construye e implementa su sitio, funciones, incluidos redireccionamientos, configuraciones específicas de contexto y branches, y más.
Para crear este archivo debe estar en toda la raiz del proyecto:
touch netlify.tomlDentro de este archivo vamos a escribir el siguiente codigo
[build]
# src: es la ruta donde estaran nuestras funciones
functions = "src"Luego de tener este archivo ya podremos probar nuestra funcion
Para probas nuestras funciones de forma local, netlify-cli, nos entrega un comando para realizar esto:
ntl devLuego de ejecutar este comando veremos en la terminal algo similar a lo que vemos en esta imagen de abajo.
Si abrieramos el navegador y fueramos a esa ruta (http://localhost:52110) veriamos una pagina blanca con un mensaje Not Found.
Para consultar la funcion hello que acabamos de crear debemos agregar a la url del paso anterior el sigueinte path /.netlify/functions/hello
Este path /.netlify/functions es necesario para poder consumir la function.
Puede que ese path no sea algo muy amigable y dificil de recordar, asi que podemos cambiarlo.
Netlify Functions es una de las formas más fáciles de comenzar con Serverless, pero la ruta predeterminada para llamar a uno es un poco tediosa en /.netlify/functions/<function_name>. Veamos cómo simplificar esto para que podamos llamar a /api/<function_name>.
Para simplificar la ruta de esta manera, puede agregar la siguiente configuración de redireccionamiento a su netlify.toml
[build]
functions = "src"
[[redirects]]
from = "/api/*"
to = "/.netlify/functions/:splat"
status = 200¡Esto le dice a Netlify que redirija cada solicitud a /api/<function_name> a la ruta completa de /.netlify/functions/<function_name> exactamente como lo desea!
Para desplegar nuestras funciones directamente a netlify ejecutamos el siguiente comando en toda la raiz del proyecto
ntl deployO podrias hacer un push de tu proyecto e inmediatamente el CI de netlify desplegara esto.
- Vas a crear una function serverless que permita buscar los gists de github de un usuario cualquiera.
- Crearas una function serverless que solo acepte el metodo
POSTy reciba en el cuerpo de la solicitudnameyyearBirthy de como resultado un mensaje como${NAME} tu edad actual es {AGE}



