Aurabase-logo
aurabasisdocumenten
documenten›Edge Functions›HTTP API reference

Edge Functions HTTP API-referentie

Het volledige HTTP-oppervlak van de functieservice, met de rol die elke route vereist.

10 min lezen·Niveau referentie·Herzien op 12 okt 2026
Deze Engelse tekst is automatisch gegenereerd op basis van het Franse origineel en is nog niet beoordeeld.
Deze pagina is automatisch vertaald. De Engelse versie is gezaghebbend.
#
Conventies

1. Conventies

Basis-URL. De URL van uw project, bijvoorbeeld https://my-app.aurabase.cloud. Het project wordt geïdentificeerd door de host, dus de onderstaande paden hebben geen project-ID. De lange vorm /v1/functions/{project_id}/… wordt ook geaccepteerd.

Authenticatie. Stuur uw sleutel in de apikey header. Voeg Authorization: Bearer <JWT> toe om te bellen als ingelogde gebruiker. De Studio roept dezelfde routes aan met een consolesessietoken, waardoor deze de rol admin krijgt.

RolHoe je het krijgtMag bellen
anonDe openbare sleutel van het projectPOST …/invoke
authenticatedDe openbare sleutel plus de JWT van een gebruikerPOST …/invoke
service_roleDe service_role sleutel (alleen server)Elke route hieronder
adminEen consolesessie (de Studio)Elke route hieronder

Elke andere route antwoordt 403 tot anon en 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" } }

Formaat. Bodies zijn JSON en hebben Content-Type: application/json nodig. Een succes is { "data": …, "meta": null }. Een fout is { "error": { "code", "message", "type", "request_id" } }.

Functieobject.

VeldTyp
id, project_id, nametouwtje
runtime"deno" of "wasm"
codetouwtjeBron voor deno; base64 van het gecompileerde binaire bestand voor wasm
code_hashtouwtjeSHA-256 van code
env_varsvoorwerpSleutel tot waarde
permissionsvoorwerpallow_net (tekenreeksarray), memory_mb, timeout_secs
is_activeBooleaans
created_at, updated_atISO8601
#
Beheer

2. Functies

Methode en padRolLichaamReactie
GET /v1/functionsservice_rolgeenreeks functieobjecten
POST /v1/functionsservice_rol{ name, runtime, code, env_vars? }het functieobject
GET /v1/functions/{name}service_rolgeenhet functieobject. {name} is de naam, of de id als geen enkele functie die naam heeft.
PATCH /v1/functions/{name}service_rol{ code?, env_vars?, is_active?, permissions? }het functieobject
DELETE /v1/functions/{name}service_rolgeen{ "data": null }
GET /v1/functions/{name}/codeservice_rolgeen{ "data": { "code": "…" } }
GET /v1/functions/{name}/envservice_rolgeen{ "data": [ { "key", "value" } ] }, waarden gedecodeerd
PUT /v1/functions/{name}/envservice_rol{ "vars": [ { "key", "value" } ] }{ "data": null }

Opmerkingen:

  • POST is een aanvulling op name: het plaatsen van een bestaande naam vervangt de code ervan. Een env_vars-veld in die hoofdtekst vervangt de bestaande variabelen; laat het achterwege om ze te behouden.
  • In PATCH wordt permissions veld voor veld samengevoegd: { "permissions": { "timeout_secs": 60 } } behoudt allow_net en memory_mb. Een veld buiten zijn grenzen retourneert 400.
  • PUT …/env vervangt de hele reeks variabelen en is de enige route die deze versleutelt. Zie geheimen.
  • Een functie met is_active: false wordt niet gevonden door invoke of door jobs.
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\"))"}'
#
Bel

3. Aanroepen

POST /v1/functions/{name}/invoke. Rol: anon, authenticated of service_role.

VeldTypStandaard
methodtouwtjePOSTHTTP-methode gezien door de functie
pathtouwtje/Pad gezien door de functie
headersvoorwerpgeenHeaders die aan de functie zijn gegeven. Gereserveerde headers worden verwijderd.
bodyelke JSONgeenLichaam gegeven aan de functie
Verzoekkoptekst
apikeyVereist
Content-Type: application/jsonVereist
Authorization: Bearer <JWT>Optioneel: bel als die gebruiker
X-Aurabase-Invoke-Mode: rawOptioneel: retourneer het eigen antwoord van de functie

Standaardantwoord, altijd 200:

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

status is de status van uw functie. logs is leeg voor deno. In de onbewerkte modus is het antwoord het eigen antwoord van uw functie: status, content-type, bytes, plus x-aurabase-invoke-origin: function.

MislukkingStatuserror.code
Functie niet gevonden of inactief404NOT_FOUND
Runtime onbereikbaar503SERVICE_UNAVAILABLE
Het platform wacht niet meer op de runtime (na timeout_secs plus een marge)504TIMEOUT
Planquota zijn opgebruikt403QUOTA_EXCEEDED
Te veel telefoontjes van één klant429rate_limit_exceeded
Lichaam boven ongeveer 256 KiB503SERVICE_UNAVAILABLE
#
Achtergrond

4. Wachtrij voor vacatures en dode brieven

Methode en padRolHoofdtekst of queryReactie
POST /v1/functions/jobsservice_rol{ function_name, payload?, delay_secs?, max_attempts? }de baan
GET /v1/functions/jobsservice_rol?status=&limit= (1 tot 500, standaard 50)scala aan banen
GET /v1/functions/jobs/{id}service_rolgeende baan
POST /v1/functions/jobs/{id}/retryservice_rolgeende baan, terug naar pending
GET /v1/functions/jobs/dlqservice_rol?limit=reeks dode banen
POST /v1/functions/jobs/dlq/requeueservice_rolgeen{ "data": { "requeued": 1 } }

Taakobject: id, project_id, function_name, payload, status (pending, running, completed, failed, dead), attempts, max_attempts, error, scheduled_at, started_at, completed_at, created_at. Gedrag: Taken, cron en de wachtrij voor dode letters.

#
Schema

5. Kron

Methode en padRolLichaamReactie
POST /v1/functions/cronservice_rol{ name, schedule, function_name, payload? }de cron-invoer
GET /v1/functions/cronservice_rolgeenreeks inzendingen
DELETE /v1/functions/cron/{name}service_rolgeen{ "data": null }, of 404 voor een onbekende naam

Invoer: id, project_id, name, schedule (opgeslagen met 6 velden), function_name, payload, is_active, last_run, next_run, created_at.

#
Monitor

6. Waarschuwingen

Methode en padRolHoofdtekst of query
POST /v1/functions/alertsservice_rol{ name, metric, condition, threshold, channel, destination }
GET /v1/functions/alertsservice_rolgeen
PATCH /v1/functions/alerts/{id}service_rol{ "enabled": true }
DELETE /v1/functions/alerts/{id}service_rolgeen
GET /v1/functions/alerts/{id}/eventsservice_rol?limit=&offset=
GET /v1/functions/alerts/eventsservice_rol?limit=&offset=

Waarden en gedrag: Waarschuwingen.

Laatst bijgewerkt · 12 okt 2026