Le funzioni netlify sono un modo molto comodo per avere del codice server-side scritto in javascript (o TypeScript, Go) che funziona come un API endpoint. Può essere chiamato facilmente dal front end della tua applicazione, può attivarsi in automatico in riposta a particolari eventi e gestire jobs più complessi in background.
Recentemente le ho utilizzate con grande semplicità e piacere per dare la possibilità ai miei utenti di acquistare servizi di consulenza web attraverso il servizio stripe e per inviare email tramite il servizio Mailgun.
Tutte le funzioni Netlify possono essere provate in locale, basta dare da linea di comando l’istruzione ntl dev, che si occuperà di creare un server locale.
Dopo di che è possibile chiamare le varie funzioni da questo indirizzo: *http://localhost:8888/.netlify/functions/nome-funzione.*
Creare la tua prima funzione Netlify in 5 minuti 🚀
La scopo di questo semplice tutorial è imparare ad usare le funzioni Netlify in maniera molto rapida, per un tutorial approfondito vedi i docs ufficiali in inglese.
Nella root del tuo progetto Netlify, se non c’è già, crea una cartella chiamata functions e al suo interno crea un file chiamato being-value.js Questo file da ora in avanti rappresenterà la nostra funzione e si preoccuperà di ritornare a chiunque lo chiama un array di valori.
Inserisci in questo file questo codice:
// dichiaro un exports handler (wrapper necessario per una funzione netlify)
exports.handler = async (event) => {
// creo un array che contiene i valori dell'essere di Abraham Maslow
const valori = ['totalità', 'perfezione', 'completezza', 'giustizia', 'vitalità', 'ricchezza','semplicità', 'bellezza', 'bontà', 'unicità', 'agevolezza', 'giocosità', 'onestà', 'autosufficienza'];
// ritorno i valori dell'essere
return {
statusCode: 200,
body: JSON.stringify({
value: valori
}),
};
}Ora la nostra funzione è già funzionante e se chiamata ritorna correttamente il nostro array. Puoi chiamarla (dopo aver avviato il server con il comando ntl dev) da questo URL: *http://localhost:8888/.netlify/functions/being-value*
Ora crea un file nella tua applicazione (es. home/valori.html). Al suo interno crea una chiamata get alla funzione netlify appena creata:
<script type="module">
// chiamo la funzione netlify e salvo il risultato in un array
const beingValue = await fetch('/.netlify/functions/being-value', {
method: 'GET',
}).then((res) => res.json());
// stampo l'array ricevuto dalla funzione
console.log(beingValue);
</script>
Ecco tutto, hai creato il tuo primo end-point con Netlify. 😜
Ed ora?
Qui trovi un elenco di 107 funzioni Netlify pronte per l’uso, così puoi capire i vasti casi di utilizzo nel quale possono essere utilmente utilizzate. Qui trovi un mio gist pubblico dove mostro come creare una funzione netlify per inviare email con MailJet.
Dettagli tecnici delle Netlify Function
Tutte le funzioni Netlify sono pubblicate con queste caratteristiche
- us-east-1 AWS Lambda region
- 1024 MB di memoria
- Limite di esecuzione di 10 secondi per le funzioni sincrone
- Limite di esecuzione di 15 minuti per le funzioni in background
- Limite della dimensione del payload di richiesta e risposta di 6 MB per le funzioni sincrone
- Limite della dimensione del payload di richiesta e risposta di 256 KB per le funzioni in background
Qui trovi il manuale completo con la descrizione dettagliata delle capacità delle funzioni netlify.