Edge Functions HTTP API-referentie
Het volledige HTTP-oppervlak van de functieservice, met de rol die elke route vereist.
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.
| Rol | Hoe je het krijgt | Mag bellen |
|---|---|---|
anon | De openbare sleutel van het project | POST …/invoke |
authenticated | De openbare sleutel plus de JWT van een gebruiker | POST …/invoke |
service_role | De service_role sleutel (alleen server) | Elke route hieronder |
admin | Een consolesessie (de Studio) | Elke route hieronder |
Elke andere route antwoordt 403 tot anon en authenticated:
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.
| Veld | Typ | |
|---|---|---|
id, project_id, name | touwtje | |
runtime | "deno" of "wasm" | |
code | touwtje | Bron voor deno; base64 van het gecompileerde binaire bestand voor wasm |
code_hash | touwtje | SHA-256 van code |
env_vars | voorwerp | Sleutel tot waarde |
permissions | voorwerp | allow_net (tekenreeksarray), memory_mb, timeout_secs |
is_active | Booleaans | |
created_at, updated_at | ISO8601 |
2. Functies
| Methode en pad | Rol | Lichaam | Reactie |
|---|---|---|---|
GET /v1/functions | service_rol | geen | reeks functieobjecten |
POST /v1/functions | service_rol | { name, runtime, code, env_vars? } | het functieobject |
GET /v1/functions/{name} | service_rol | geen | het 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_rol | geen | { "data": null } |
GET /v1/functions/{name}/code | service_rol | geen | { "data": { "code": "…" } } |
GET /v1/functions/{name}/env | service_rol | geen | { "data": [ { "key", "value" } ] }, waarden gedecodeerd |
PUT /v1/functions/{name}/env | service_rol | { "vars": [ { "key", "value" } ] } | { "data": null } |
Opmerkingen:
POSTis een aanvulling opname: het plaatsen van een bestaande naam vervangt de code ervan. Eenenv_vars-veld in die hoofdtekst vervangt de bestaande variabelen; laat het achterwege om ze te behouden.- In
PATCHwordtpermissionsveld voor veld samengevoegd:{ "permissions": { "timeout_secs": 60 } }behoudtallow_netenmemory_mb. Een veld buiten zijn grenzen retourneert400. PUT …/envvervangt de hele reeks variabelen en is de enige route die deze versleutelt. Zie geheimen.- Een functie met
is_active: falsewordt niet gevonden doorinvokeof door jobs.
3. Aanroepen
POST /v1/functions/{name}/invoke. Rol: anon, authenticated of service_role.
| Veld | Typ | Standaard | |
|---|---|---|---|
method | touwtje | POST | HTTP-methode gezien door de functie |
path | touwtje | / | Pad gezien door de functie |
headers | voorwerp | geen | Headers die aan de functie zijn gegeven. Gereserveerde headers worden verwijderd. |
body | elke JSON | geen | Lichaam gegeven aan de functie |
| Verzoekkoptekst | |
|---|---|
apikey | Vereist |
Content-Type: application/json | Vereist |
Authorization: Bearer <JWT> | Optioneel: bel als die gebruiker |
X-Aurabase-Invoke-Mode: raw | Optioneel: retourneer het eigen antwoord van de functie |
Standaardantwoord, altijd 200:
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.
| Mislukking | Status | error.code |
|---|---|---|
| Functie niet gevonden of inactief | 404 | NOT_FOUND |
| Runtime onbereikbaar | 503 | SERVICE_UNAVAILABLE |
Het platform wacht niet meer op de runtime (na timeout_secs plus een marge) | 504 | TIMEOUT |
| Planquota zijn opgebruikt | 403 | QUOTA_EXCEEDED |
| Te veel telefoontjes van één klant | 429 | rate_limit_exceeded |
| Lichaam boven ongeveer 256 KiB | 503 | SERVICE_UNAVAILABLE |
4. Wachtrij voor vacatures en dode brieven
| Methode en pad | Rol | Hoofdtekst of query | Reactie |
|---|---|---|---|
POST /v1/functions/jobs | service_rol | { function_name, payload?, delay_secs?, max_attempts? } | de baan |
GET /v1/functions/jobs | service_rol | ?status=&limit= (1 tot 500, standaard 50) | scala aan banen |
GET /v1/functions/jobs/{id} | service_rol | geen | de baan |
POST /v1/functions/jobs/{id}/retry | service_rol | geen | de baan, terug naar pending |
GET /v1/functions/jobs/dlq | service_rol | ?limit= | reeks dode banen |
POST /v1/functions/jobs/dlq/requeue | service_rol | geen | { "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.
5. Kron
| Methode en pad | Rol | Lichaam | Reactie |
|---|---|---|---|
POST /v1/functions/cron | service_rol | { name, schedule, function_name, payload? } | de cron-invoer |
GET /v1/functions/cron | service_rol | geen | reeks inzendingen |
DELETE /v1/functions/cron/{name} | service_rol | geen | { "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.
6. Waarschuwingen
| Methode en pad | Rol | Hoofdtekst of query |
|---|---|---|
POST /v1/functions/alerts | service_rol | { name, metric, condition, threshold, channel, destination } |
GET /v1/functions/alerts | service_rol | geen |
PATCH /v1/functions/alerts/{id} | service_rol | { "enabled": true } |
DELETE /v1/functions/alerts/{id} | service_rol | geen |
GET /v1/functions/alerts/{id}/events | service_rol | ?limit=&offset= |
GET /v1/functions/alerts/events | service_rol | ?limit=&offset= |
Waarden en gedrag: Waarschuwingen.