Zum Inhalt springen

Supabase Edge Functions ​

Supabase ist eine quelloffene Alternative zu Firebase und bietet ähnliche Werkzeuge, darunter Datenbank, Authentifizierung, Speicher und inzwischen auch Serverless-Funktionen.

Supabase Edge Functions sind serverseitige TypeScript-Funktionen, die weltweit verteilt werden und näher an deinen Nutzern laufen, um die Leistung zu verbessern. Diese Funktionen werden mit Deno entwickelt. Das bietet unter anderem verbesserte Sicherheit und eine moderne JavaScript-/TypeScript-Laufzeitumgebung.

So kannst du mit Supabase Edge Functions beginnen:

1. Einrichtung ​

Voraussetzungen ​

Stelle zunächst sicher, dass die Supabase-CLI installiert ist. Falls du sie noch nicht installiert hast, folge der Anleitung in der offiziellen Dokumentation.

Ein neues Projekt erstellen ​

  1. Öffne dein Terminal oder deine Eingabeaufforderung.

  2. Erstelle mit dem folgenden Befehl ein neues Supabase-Projekt in einem Verzeichnis auf deinem lokalen Computer:

bash
supabase init

Dieser Befehl initialisiert ein neues Supabase-Projekt im aktuellen Verzeichnis.

Eine Edge Function hinzufügen ​

  1. Erstelle in deinem Supabase-Projekt eine neue Edge Function namens hello-world:
bash
supabase functions new hello-world

Dieser Befehl erstellt eine neue Edge Function mit dem angegebenen Namen in deinem Projekt.

2. Hello World ​

Bearbeite die Funktion hello-world, indem du die Datei supabase/functions/hello-world/index.ts anpasst:

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. Ausführen ​

Um die Funktion lokal auszuführen, verwende den folgenden Befehl:

  1. Starte die Funktion mit dem folgenden Befehl:
bash
supabase start # start the supabase stack
supabase functions serve --no-verify-jwt # start the Functions watcher

Mit dem Flag --no-verify-jwt kannst du die JWT-Überprüfung während der lokalen Entwicklung überspringen.

  1. Sende mit cURL oder Postman eine GET-Anfrage an http://127.0.0.1:54321/functions/v1/hello-world/hello:
bash
curl  --location  'http://127.0.0.1:54321/functions/v1/hello-world/hello'

Diese Anfrage sollte den Text „Hello from hono-server!“ zurückgeben.

4. Bereitstellung ​

Mit einem einzigen Befehl kannst du alle deine Edge Functions in Supabase bereitstellen:

bash
supabase functions deploy

Alternativ kannst du einzelne Edge Functions bereitstellen, indem du den Funktionsnamen im Bereitstellungsbefehl angibst:

bash
supabase functions deploy hello-world

Weitere Bereitstellungsmethoden findest du in der Supabase-Dokumentation unter Bereitstellung in der Produktionsumgebung.

Veröffentlicht unter der MIT-Lizenz.