Heim >Web-Frontend >js-Tutorial >Supabase-Kantenfunktionen

Supabase-Kantenfunktionen

Patricia Arquette
Patricia ArquetteOriginal
2024-12-03 04:31:21432Durchsuche

Supabase Edge Functions

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!

  1. Testen Sie die bereitgestellte Funktion Rufen Sie die Funktions-URL ab:

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.

  1. Planen Sie die Funktion mit pg_cron Erstellen Sie einen Cron-Job:

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn