Supabase Edge Functions
Supabase est une alternative open source à Firebase qui propose une suite d'outils aux fonctionnalités similaires : base de données, authentification, stockage et, désormais, fonctions serverless.
Les Supabase Edge Functions sont des fonctions TypeScript côté serveur distribuées dans le monde entier. Elles s'exécutent près de vos utilisateurs pour améliorer les performances. Ces fonctions sont développées avec Deno, qui offre notamment une sécurité renforcée et un environnement d'exécution JavaScript/TypeScript moderne.
Voici comment démarrer avec Supabase Edge Functions :
1. Configuration
Prérequis
Avant de commencer, assurez-vous que la CLI Supabase est installée. Sinon, suivez les instructions de la documentation officielle.
Créer un nouveau projet
Ouvrez votre terminal ou votre invite de commandes.
Créez un nouveau projet Supabase dans un répertoire de votre machine locale en exécutant :
supabase initCette commande initialise un nouveau projet Supabase dans le répertoire courant.
Ajouter une Edge Function
- Dans votre projet Supabase, créez une Edge Function nommée
hello-world:
supabase functions new hello-worldCette commande crée dans votre projet une Edge Function portant le nom indiqué.
2. Bonjour le monde
Modifiez la fonction hello-world en éditant le fichier supabase/functions/hello-world/index.ts :
import { Hono } from 'jsr:@hono/hono'
// change this to your function name
const functionName = 'hello-world'
const app = new Hono().basePath(`/${functionName}`)
app.get('/hello', (c) => c.text('Hello from hono-server!'))
Deno.serve(app.fetch)3. Exécution
Pour exécuter la fonction localement, utilisez la commande suivante :
- Utilisez la commande suivante pour servir la fonction :
supabase start # start the supabase stack
supabase functions serve --no-verify-jwt # start the Functions watcherL'option --no-verify-jwt permet de contourner la vérification JWT pendant le développement local.
- Envoyez une requête GET avec cURL ou Postman à
http://127.0.0.1:54321/functions/v1/hello-world/hello:
curl --location 'http://127.0.0.1:54321/functions/v1/hello-world/hello'Cette requête doit renvoyer le texte « Hello from hono-server! ».
4. Déploiement
Vous pouvez déployer toutes vos Edge Functions dans Supabase avec une seule commande :
supabase functions deployVous pouvez aussi déployer une Edge Function individuellement en indiquant son nom dans la commande de déploiement :
supabase functions deploy hello-worldPour d'autres méthodes de déploiement, consultez la documentation Supabase sur le déploiement en production.