Logo Aurabase
aurabasedocumenti
documenti›Edge Functions›HTTP API reference

Edge Functions Riferimento API HTTP

La superficie HTTP completa del servizio funzioni, con il ruolo richiesto da ogni percorso.

10 min letto·Livello riferimento·Revisionato il 12 ott 2026
Questo testo inglese è stato generato automaticamente dall'originale francese e non è stato ancora rivisto.
Questa pagina è stata tradotta automaticamente. Fa fede la versione inglese.
#
Convenzioni

1. Convenzioni

URL di base. L'URL del tuo progetto, ad esempio https://my-app.aurabase.cloud. Il progetto è identificato dall'host, quindi i percorsi seguenti non riportano un ID progetto. È accettata anche la forma lunga /v1/functions/{project_id}/….

Autenticazione. Invia la tua chiave nell'intestazione apikey. Aggiungi Authorization: Bearer <JWT> per chiamare come utente registrato. Lo Studio chiama gli stessi percorsi con un token di sessione della console, che gli conferisce il ruolo admin.

RuoloCome lo ottieniPuò chiamare
anonLa chiave pubblica del progettoPOST …/invoke
authenticatedLa chiave pubblica più JWT dell'utentePOST …/invoke
service_roleLa chiave service_role (solo server)Ogni percorso qui sotto
adminUna sessione in console (lo Studio)Ogni percorso qui sotto

Qualsiasi altro percorso risponde 403 a anon e 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" } }

Formato. I corpi sono JSON e necessitano di Content-Type: application/json. Un successo è { "data": …, "meta": null }. Un errore è { "error": { "code", "message", "type", "request_id" } }.

Oggetto funzione.

CampoDigitare
id, project_id, namestringa
runtime"deno" o "wasm"
codestringaSorgente per deno; base64 del binario compilato per wasm
code_hashstringaSHA-256 di code
env_varsoggettoChiave per il valore
permissionsoggettoallow_net (array di stringhe), memory_mb, timeout_secs
is_activebooleano
created_at, updated_atISO8601
#
Gestisci

2. Funzioni

Metodo e percorsoRuoloCorpoRisposta
GET /v1/functionsservice_rolenessunomatrice di oggetti funzione
POST /v1/functionsservice_role{ name, runtime, code, env_vars? }l'oggetto funzione
GET /v1/functions/{name}service_rolenessunol'oggetto funzione. {name} è il nome o l'id quando nessuna funzione ha quel nome.
PATCH /v1/functions/{name}service_role{ code?, env_vars?, is_active?, permissions? }l'oggetto funzione
DELETE /v1/functions/{name}service_rolenessuno{ "data": null }
GET /v1/functions/{name}/codeservice_rolenessuno{ "data": { "code": "…" } }
GET /v1/functions/{name}/envservice_rolenessuno{ "data": [ { "key", "value" } ] }, valori decrittografati
PUT /v1/functions/{name}/envservice_role{ "vars": [ { "key", "value" } ] }{ "data": null }

Note:

  • POST è un upsert su name: pubblicare un nome esistente ne sostituisce il codice. Un campo env_vars in quel corpo sostituisce le variabili esistenti; omettilo per mantenerli.
  • In PATCH, permissions viene unito campo per campo: { "permissions": { "timeout_secs": 60 } } mantiene allow_net e memory_mb. Un campo fuori dai suoi limiti restituisce 400.
  • PUT …/env sostituisce l'intero set di variabili ed è l'unico percorso che le crittografa. Vedi segreti.
  • Una funzione con is_active: false non viene trovata da invoke o dai lavori.
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\"))"}'
#
Chiama

3. Invocare

POST /v1/functions/{name}/invoke. Ruolo: anon, authenticated o service_role.

CampoDigitarePredefinito
methodstringaPOSTMetodo HTTP visto dalla funzione
pathstringa/Percorso visto dalla funzione
headersoggettonessunoIntestazioni assegnate alla funzione. Le intestazioni riservate vengono eliminate.
bodyqualsiasi JSONnessunoCorpo deputato alla funzione
Intestazione della richiesta
apikeyObbligatorio
Content-Type: application/jsonObbligatorio
Authorization: Bearer <JWT>Facoltativo: chiama come quell'utente
X-Aurabase-Invoke-Mode: rawFacoltativo: restituisce la risposta della funzione

Risposta predefinita, sempre 200:

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

status è lo stato di la tua funzione. logs è vuoto per deno. In modalità raw la risposta è quella della tua funzione: status, content-type, byte, più x-aurabase-invoke-origin: function.

FallimentoStatoerror.code
Funzione non trovata o inattiva404NOT_FOUND
Tempo di esecuzione irraggiungibile503SERVICE_UNAVAILABLE
La piattaforma ha smesso di attendere il runtime (dopo timeout_secs più un margine)504TIMEOUT
Quota del piano esaurita403QUOTA_EXCEEDED
Troppe chiamate da un cliente429rate_limit_exceeded
Corpo superiore a circa 256 KiB503SERVICE_UNAVAILABLE
#
Sfondo

4. Lavori e coda di messaggi non recapitabili

Metodo e percorsoRuoloCorpo o queryRisposta
POST /v1/functions/jobsservice_role{ function_name, payload?, delay_secs?, max_attempts? }il lavoro
GET /v1/functions/jobsservice_role?status=&limit= (da 1 a 500, predefinito 50)serie di lavori
GET /v1/functions/jobs/{id}service_rolenessunoil lavoro
POST /v1/functions/jobs/{id}/retryservice_rolenessunoil lavoro, torniamo a pending
GET /v1/functions/jobs/dlqservice_role?limit=serie di lavori morti
POST /v1/functions/jobs/dlq/requeueservice_rolenessuno{ "data": { "requeued": 1 } }

Oggetto lavoro: id, project_id, function_name, payload, status (pending, running, completed, failed, dead), attempts, max_attempts, error, scheduled_at, started_at, completed_at, created_at. Comportamento: Job, cron e coda dei messaggi non recapitati.

#
Programma

5. Cron

Metodo e percorsoRuoloCorpoRisposta
POST /v1/functions/cronservice_role{ name, schedule, function_name, payload? }la voce cron
GET /v1/functions/cronservice_rolenessunoserie di voci
DELETE /v1/functions/cron/{name}service_rolenessuno{ "data": null } o 404 per un nome sconosciuto

Voce: id, project_id, name, schedule (memorizzato con 6 campi), function_name, payload, is_active, last_run, next_run, created_at.

#
Monitorare

6. Avvisi

Metodo e percorsoRuoloCorpo o query
POST /v1/functions/alertsservice_role{ name, metric, condition, threshold, channel, destination }
GET /v1/functions/alertsservice_rolenessuno
PATCH /v1/functions/alerts/{id}service_role{ "enabled": true }
DELETE /v1/functions/alerts/{id}service_rolenessuno
GET /v1/functions/alerts/{id}/eventsservice_role?limit=&offset=
GET /v1/functions/alerts/eventsservice_role?limit=&offset=

Valori e comportamento: Avvisi.

Ultimo aggiornamento · 12 ott 2026