Maison >interface Web >js tutoriel >Fonctions Edge de la Supabase
Guide étape par étape pour utiliser les fonctions Edge dans Supabase et les planifier avec les tâches Cron
Les fonctions Edge de Supabase vous permettent de déployer une logique côté serveur qui s'exécute en périphérie, permettant des opérations rapides et évolutives. Voici comment créer et déployer des fonctions Edge et les planifier avec des tâches cron :
1- Installer Supabase CLI :
Téléchargez et installez la CLI Supabase. Celui-ci sera utilisé pour gérer votre projet et déployer des fonctions Edge.
Installer via npm :
npm install -g supabase
Authentifier avec Supabase :
connexion à la supabase
Initialiser un projet Supabase localement :
Accédez au répertoire de votre projet dans le terminal.
Exécuter :
initialisation de la supabase
2. Créer une fonction Edge
Générer une nouvelle fonction :
Utilisez la CLI pour générer une nouvelle fonction Edge :
fonctions supabase nouvelle ma-fonction
Remplacez my-function par le nom de votre fonction.
Écrivez votre logique de fonction :
Accédez au fichier function/my-function/index.ts.
Ajoutez votre logique, par exemple :
javascript
`importer { servir } depuis 'https://deno.land/std@0.168.0/http/server.ts';
serve(async (req) => {
return new Response('Bonjour tout le monde !', {
en-têtes : { 'Content-Type' : 'text/plain' },
});
});`
Testez localement :
Démarrez la fonction localement :
les fonctions supabase servent ma fonction
Accédez à la fonction sur http://localhost:54321/functions/v1/my-function.
Déployer la fonction :
Déployez votre fonction sur Supabase :
les fonctions supabase déploient ma fonction
Pour cela, vous devez avoir Docker installé, et il doit être ouvert !
Dans le tableau de bord Supabase, accédez à Fonctions > ma-fonction.
Copiez l'URL de la fonction déployée.
Appelez la fonction :
Utilisez des outils tels que curl, Postman ou JavaScript fetch pour tester la fonction déployée :
curl https://your-project-id.supabase.co/functions/v1/my-function
4. Planifiez la fonction avec les tâches Cron
Installez et activez pg_cron dans Supabase
Accédez à votre projet Supabase :
Connectez-vous à votre tableau de bord Supabase et ouvrez votre projet.
Activer l'extension pg_cron :
Allez dans Base de données > Extensions.
Recherchez pg_cron et activez-le en cliquant sur la bascule.
Vérifier l'installation :
Ouvrez l'éditeur SQL et exécutez :
SELECT * FROM pg_available_extensions WHERE nom = 'pg_cron';
Ajouter une fonction Postgres pour appeler la fonction Edge
Vous devez créer une fonction PostgreSQL qui appelle votre fonction Supabase Edge en utilisant HTTP.
Créer la fonction Postgres :
Dans l'éditeur SQL, écrivez et exécutez :
`CRÉER OU REPLACER UNE FONCTION call_edge_function()
RETOURS nuls AS $$
DÉCLARER
réponse jsonb;
COMMENCER
-- Faire une requête HTTP à la fonction Edge
Réponse SELECT INTO
http_post(
'https://your-project-id.supabase.co/functions/v1/my-function', -- Remplacez par l'URL de votre fonction Edge
'{}', -- Charge utile JSON facultative (ajustez si nécessaire)
'Autorisation=Porteur de votre-anon-clé ; Content-Type=application/json' -- Remplacez par votre clé anonyme Supabase
);
-- En option, enregistrez la réponse (pour le débogage)
LEVER UN AVIS 'Réponse : %', réponse ;
FIN ;
$$ LANGUE plpgsql;`
Remplacer :
votre-identifiant-de-projet avec votre identifiant de projet Supabase.
your-anon-key avec votre clé anonyme Supabase (disponible dans le tableau de bord sous Paramètres > API).
Testez la fonction Postgres :
Appelez la fonction manuellement pour vous assurer qu'elle fonctionne :
SELECT call_edge_function();
Vérifiez le résultat pour toute erreur.
Dans l'éditeur SQL, écrivez et exécutez :
SELECT cron.schedule(
'call_edge_function_job', -- Nom unique pour le travail
'0 * * * *', -- Expression Cron (par exemple, toutes les heures)
$$ SELECT call_edge_function(); $$
);
Remplacez l'expression cron par le calendrier souhaité. Par exemple :
Chaque minute : * * * * *
Toutes les heures : 0 * * * *
Tous les jours à minuit : 0 0 * * *
Liste des tâches planifiées :
Vérifiez que l'emploi a été créé :
SELECT * FROM cron.job;
Supprimer ou mettre à jour une tâche Cron :
Pour supprimer une tâche :
SELECT cron.unschedule('call_edge_function_job');
En suivant ces étapes, vous disposerez d'une fonction Edge entièrement fonctionnelle déployée sur Supabase et planifiée avec une tâche cron pour s'exécuter aux intervalles souhaités.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!