Aurabase-Logo
AurabasisDokumente
Dokumente›Edge Functions›HTTP API reference

Edge Functions HTTP-API-Referenz

Die vollständige HTTP-Oberfläche des Funktionsdiensts mit der Rolle, die jede Route benötigt.

10 Min. gelesen·Ebene Referenz·Überarbeitet am 12.10.2026
Dieser englische Text wurde automatisch aus dem französischen Original generiert und wurde noch nicht überprüft.
Diese Seite wurde automatisch übersetzt. Maßgeblich ist die englische Version.
#
Konventionen

1. Konventionen

Basis-URL. Die URL Ihres Projekts, zum Beispiel https://my-app.aurabase.cloud. Das Projekt wird vom Host identifiziert, daher tragen die unten aufgeführten Pfade keine Projekt-ID. Die Langform /v1/functions/{project_id}/… wird ebenfalls akzeptiert.

Authentifizierung. Senden Sie Ihren Schlüssel im apikey-Header. Fügen Sie Authorization: Bearer <JWT> hinzu, um als angemeldeter Benutzer anzurufen. Das Studio ruft dieselben Routen mit einem Konsolensitzungstoken auf, wodurch es die Rolle admin erhält.

RolleWie Sie es bekommenDarf anrufen
anonDer öffentliche Schlüssel des ProjektsPOST …/invoke
authenticatedDer öffentliche Schlüssel plus JWT eines BenutzersPOST …/invoke
service_roleDer Schlüssel service_role (nur Server)Jede Route unten
adminEine Konsolensitzung (das Studio)Jede Route unten

Jede andere Route antwortet 403 bis anon und authenticated:

403json
{ "error": { "code": "FORBIDDEN", "type": "forbidden", "request_id": "…",
  "message": "Accès interdit : Opération réservée au rôle service_role : seule l'invocation d'une fonction est ouverte aux clés publiques" } }

-Format.-Körper sind JSON und benötigen Content-Type: application/json. Ein Erfolg ist { "data": …, "meta": null }. Ein Fehler ist { "error": { "code", "message", "type", "request_id" } }.

Funktionsobjekt.

FeldTyp
id, project_id, nameZeichenfolge
runtime"deno" oder "wasm"
codeZeichenfolgeQuelle für deno; base64 der kompilierten Binärdatei für wasm
code_hashZeichenfolgeSHA-256 von code
env_varsObjektSchlüssel zum Wert
permissionsObjektallow_net (String-Array), memory_mb, timeout_secs
is_activeBoolescher Wert
created_at, updated_atISO 8601
#
Verwalten

2. Funktionen

Methode und WegRolleKörperAntwort
GET /v1/functionsservice_rolekeineArray von Funktionsobjekten
POST /v1/functionsservice_role{ name, runtime, code, env_vars? }das Funktionsobjekt
GET /v1/functions/{name}service_rolekeinedas Funktionsobjekt. {name} ist der Name oder die ID, wenn keine Funktion diesen Namen hat.
PATCH /v1/functions/{name}service_role{ code?, env_vars?, is_active?, permissions? }das Funktionsobjekt
DELETE /v1/functions/{name}service_rolekeine{ "data": null }
GET /v1/functions/{name}/codeservice_rolekeine{ "data": { "code": "…" } }
GET /v1/functions/{name}/envservice_rolekeine{ "data": [ { "key", "value" } ] }, Werte entschlüsselt
PUT /v1/functions/{name}/envservice_role{ "vars": [ { "key", "value" } ] }{ "data": null }

Hinweise:

  • POST ist ein Upsert auf name: Durch das Posten eines vorhandenen Namens wird dessen Code ersetzt. Ein env_vars-Feld in diesem Textkörper ersetzt die vorhandenen Variablen; lassen Sie es weg, um sie zu behalten.
  • In PATCH wird permissions Feld für Feld zusammengeführt: { "permissions": { "timeout_secs": 60 } } behält allow_net und memory_mb. Ein Feld außerhalb seiner Grenzen gibt 400 zurück.
  • PUT …/env ersetzt den gesamten Variablensatz und ist die einzige Route, die diese verschlüsselt. Siehe Geheimnisse.
  • Eine Funktion mit is_active: false wird von invoke oder von Jobs nicht gefunden.
deploy.shbash
curl -X POST "$AURA_URL/v1/functions" \
  -H "apikey: $AURA_SERVICE_ROLE_KEY" -H "Content-Type: application/json" \
  -d '{"name":"hello","runtime":"deno","code":"Deno.serve(() => new Response(\"ok\"))"}'
#
Rufen Sie an

3. Aufrufen

POST /v1/functions/{name}/invoke. Rolle: anon, authenticated oder service_role.

FeldTypStandard
methodZeichenfolgePOSTVon der Funktion gesehene HTTP-Methode
pathZeichenfolge/Von der Funktion gesehener Pfad
headersObjektkeineDer Funktion übergebene Header. Reservierte Header werden gelöscht.
bodyirgendein JSONkeineDer Funktion zugewiesener Körper
Anforderungsheader
apikeyErforderlich
Content-Type: application/jsonErforderlich
Authorization: Bearer <JWT>Optional: Rufen Sie als dieser Benutzer an
X-Aurabase-Invoke-Mode: rawOptional: Geben Sie die eigene Antwort der Funktion zurück

Standardantwort, immer 200:

200json
{ "data": { "status": 200, "headers": { "content-type": "application/json" },
  "body": { "greeting": "Hello, Ada!" }, "logs": [], "duration_ms": 74 }, "meta": null }

status ist der Status von Ihrer Funktion. logs ist leer für deno. Im Rohmodus ist die Antwort die eigene Ihrer Funktion: Status, content-type, Bytes plus x-aurabase-invoke-origin: function.

MisserfolgStatuserror.code
Funktion nicht gefunden oder inaktiv404NOT_FOUND
Laufzeit nicht erreichbar503SERVICE_UNAVAILABLE
Die Plattform hat aufgehört, auf die Laufzeit zu warten (nach timeout_secs plus einer Marge)504TIMEOUT
Plankontingent ausgeschöpft403QUOTA_EXCEEDED
Zu viele Anrufe von einem Kunden429rate_limit_exceeded
Körper über etwa 256 KiB503SERVICE_UNAVAILABLE
#
Hintergrund

4. Jobs und Warteschlange für unzustellbare Nachrichten

Methode und WegRolleText oder AbfrageAntwort
POST /v1/functions/jobsservice_role{ function_name, payload?, delay_secs?, max_attempts? }der Job
GET /v1/functions/jobsservice_role?status=&limit= (1 bis 500, Standard 50)Reihe von Arbeitsplätzen
GET /v1/functions/jobs/{id}service_rolekeineder Job
POST /v1/functions/jobs/{id}/retryservice_rolekeineder Job, zurück zu pending
GET /v1/functions/jobs/dlqservice_role?limit=Reihe toter Arbeitsplätze
POST /v1/functions/jobs/dlq/requeueservice_rolekeine{ "data": { "requeued": 1 } }

Auftragsobjekt: id, project_id, function_name, payload, status (pending, running, completed, failed, dead), attempts, max_attempts, error, scheduled_at, started_at, completed_at, created_at. Verhalten: Jobs, Cron und die Warteschlange für unzustellbare Nachrichten.

#
Zeitplan

5. Cron

Methode und WegRolleKörperAntwort
POST /v1/functions/cronservice_role{ name, schedule, function_name, payload? }der Cron-Eintrag
GET /v1/functions/cronservice_rolekeineArray von Einträgen
DELETE /v1/functions/cron/{name}service_rolekeine{ "data": null } oder 404 für einen unbekannten -Namen

Eintrag: id, project_id, name, schedule (gespeichert mit 6 Feldern), function_name, payload, is_active, last_run, next_run, created_at.

#
Überwachen

6. Warnungen

Methode und WegRolleText oder Abfrage
POST /v1/functions/alertsservice_role{ name, metric, condition, threshold, channel, destination }
GET /v1/functions/alertsservice_rolekeine
PATCH /v1/functions/alerts/{id}service_role{ "enabled": true }
DELETE /v1/functions/alerts/{id}service_rolekeine
GET /v1/functions/alerts/{id}/eventsservice_role?limit=&offset=
GET /v1/functions/alerts/eventsservice_role?limit=&offset=

Werte und Verhalten: Warnungen.

Zuletzt aktualisiert · 12.10.2026