Schritt-für-Schritt-Anleitung zur Verwendung von Edge-Funktionen in Supabase und deren Planung mit Cron-Jobs
Mit Edge-Funktionen in Supabase können Sie serverseitige Logik bereitstellen, die am Edge ausgeführt wird, und so schnelle und skalierbare Vorgänge ermöglichen. So können Sie Edge-Funktionen erstellen und bereitstellen und diese mit Cron-Jobs planen:
1- Installieren Sie Supabase CLI:
Laden Sie die Supabase-CLI herunter und installieren Sie sie. Dies wird zur Verwaltung Ihres Projekts und zur Bereitstellung von Edge-Funktionen verwendet.
Installation über npm:
npm install -g supabase
Authentifizierung mit Supabase:
supabase-Login
Ein Supabase-Projekt lokal initialisieren:
Navigieren Sie im Terminal zu Ihrem Projektverzeichnis.
Führen Sie aus:
supabase init
2. Erstellen Sie eine Kantenfunktion
Generieren Sie eine neue Funktion:
Verwenden Sie die CLI, um eine neue Kantenfunktion zu generieren:
supabase-Funktionen neue My-Funktion
Ersetzen Sie my-function durch den Namen Ihrer Funktion.
Schreiben Sie Ihre Funktionslogik:
Navigieren Sie zur Datei „functions/my-function/index.ts“.
Fügen Sie Ihre Logik hinzu, zum Beispiel:
Javascript
`import { Serve } from 'https://deno.land/std@0.168.0/http/server.ts';
serve(async (req) => {
return new Response('Hello, world!', {
Überschriften: { 'Content-Type': 'text/plain' },
});
});`
Lokal testen:
Funktion lokal starten:
Supabase-Funktionen dienen meiner Funktion
Greifen Sie auf die Funktion unter http://localhost:54321/functions/v1/my-function.
zu
Stellen Sie die Funktion bereit:
Stellen Sie Ihre Funktion auf Supabase bereit:
Supabase-Funktionen stellen meine Funktion bereit
Dazu muss Docker installiert und geöffnet sein!
Navigieren Sie im Supabase-Dashboard zu Funktionen > meine-Funktion.
Kopieren Sie die URL der bereitgestellten Funktion.
Rufen Sie die Funktion auf:
Verwenden Sie Tools wie Curl, Postman oder JavaScript Fetch, um die bereitgestellte Funktion zu testen:
Curl https://your-project-id.supabase.co/functions/v1/my-function
4. Planen Sie die Funktion mit Cron-Jobs
Installieren und aktivieren Sie pg_cron in Supabase
Greifen Sie auf Ihr Supabase-Projekt zu:
Melden Sie sich bei Ihrem Supabase-Dashboard an und öffnen Sie Ihr Projekt.
Aktivieren Sie die pg_cron-Erweiterung:
Gehe zu Datenbank > Erweiterungen.
Suchen Sie nach pg_cron und aktivieren Sie es, indem Sie auf den Schalter klicken.
Installation überprüfen:
Öffnen Sie den SQL-Editor und führen Sie Folgendes aus:
SELECT * FROM pg_available_extensions WHERE name = 'pg_cron';
Fügen Sie eine Postgres-Funktion hinzu, um die Kantenfunktion aufzurufen
Sie müssen eine PostgreSQL-Funktion erstellen, die Ihre Supabase Edge-Funktion über HTTP aufruft.
Erstellen Sie die Postgres-Funktion:
Im SQL-Editor schreiben und ausführen:
`FUNKTION ERSTELLEN ODER ERSETZEN call_edge_function()
RÜCKGABEN ungültig als $$
ERKLÄREN
Antwort jsonb;
BEGINNEN
– Stellen Sie eine HTTP-Anfrage an die Edge-Funktion
SELECT INTO Antwort
http_post(
„https://your-project-id.supabase.co/functions/v1/my-function“, – Ersetzen Sie es durch Ihre Edge-Funktions-URL
'{}', – Optionale JSON-Nutzlast (nach Bedarf anpassen)
'Authorization=Bearer your-anon-key; Content-Type=application/json' – Ersetzen Sie ihn durch Ihren Supabase-Anon-Schlüssel
);
-- Optional die Antwort protokollieren (zum Debuggen)
RAISE NOTICE 'Antwort: %', Antwort;
ENDE;
$$ LANGUAGE plpgsql;`
Ersetzen:
your-project-id mit Ihrer Supabase-Projekt-ID.
your-anon-key mit Ihrem Supabase-Anon-Key (verfügbar im Dashboard unter Einstellungen > API).
Testen Sie die Postgres-Funktion:
Rufen Sie die Funktion manuell auf, um sicherzustellen, dass sie funktioniert:
SELECT call_edge_function();
Überprüfen Sie die Ausgabe auf Fehler.
Im SQL-Editor schreiben und ausführen:
SELECT cron.schedule(
'call_edge_function_job', – Eindeutiger Name für den Job
'0 * * * *', – Cron-Ausdruck (z. B. jede Stunde)
$$ SELECT call_edge_function(); $$
);
Ersetzen Sie den Cron-Ausdruck durch Ihren gewünschten Zeitplan. Zum Beispiel:
Jede Minute: * * * * *
Jede Stunde: 0 * * * *
Jeden Tag um Mitternacht: 0 0 * * *
Geplante Jobs auflisten:
Überprüfen Sie, ob der Job erstellt wurde:
SELECT * FROM cron.job;
Entfernen oder aktualisieren Sie einen Cron-Job:
So entfernen Sie einen Auftrag:
SELECT cron.unschedule('call_edge_function_job');
Wenn Sie diese Schritte befolgen, verfügen Sie über eine voll funktionsfähige Edge-Funktion, die auf Supabase bereitgestellt und mit einem Cron-Job so geplant wird, dass er in den gewünschten Intervallen ausgeführt wird.
Das obige ist der detaillierte Inhalt vonSupabase-Kantenfunktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!