Logo Aurabase
aurabazadokumenty
dokumenty›Edge Functions›HTTP API reference

Edge Functions Informacje o interfejsie API HTTP

Kompletna powierzchnia HTTP usługi funkcji z rolą wymaganą przez każdą trasę.

10 min przeczytane·Poziom odniesienie·Zmieniono 12 paź 2026
Ten tekst w języku angielskim został wygenerowany automatycznie na podstawie francuskiego oryginału i nie był jeszcze recenzowany.
Ta strona została przetłumaczona automatycznie. Wersja angielska jest miarodajna.
#
Konwencje

1. Konwencje

Podstawowy adres URL. Adres URL Twojego projektu, na przykład https://my-app.aurabase.cloud. Projekt jest identyfikowany przez hosta, więc poniższe ścieżki nie mają identyfikatora projektu. Akceptowana jest również długa forma /v1/functions/{project_id}/….

Uwierzytelnianie. Wyślij swój klucz w nagłówku apikey. Dodaj Authorization: Bearer <JWT>, aby dzwonić jako zalogowany użytkownik. Studio wywołuje te same trasy za pomocą tokena sesji konsoli, co nadaje mu rolę admin.

RolaJak to dostanieszMoże zadzwonić
anonKlucz publiczny projektuPOST …/invoke
authenticatedKlucz publiczny plus JWT użytkownikaPOST …/invoke
service_roleKlucz service_role (tylko serwer)Poniżej każda trasa
adminSesja konsolowa (Studio)Poniżej każda trasa

Każda inna trasa odpowiada 403 do anon i 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. Ciała są w formacie JSON i wymagają Content-Type: application/json. Sukcesem jest { "data": …, "meta": null }. Błąd to { "error": { "code", "message", "type", "request_id" } }.

Obiekt funkcyjny.

PoleTyp
id, project_id, namesmyczkowy
runtime"deno" lub "wasm"
codesmyczkowyŹródło dla deno; base64 skompilowanego pliku binarnego dla wasm
code_hashsmyczkowySHA-256 z code
env_varsobiektKlucz do wartości
permissionsobiektallow_net (tablica ciągów), memory_mb, timeout_secs
is_activewartość logiczna
created_at, updated_atISO8601
#
Zarządzać

2. Funkcje

Metoda i ścieżkaRolaCiałoOdpowiedź
GET /v1/functionsrola_usługinictablica obiektów funkcyjnych
POST /v1/functionsrola_usługi{ name, runtime, code, env_vars? }obiekt funkcji
GET /v1/functions/{name}rola_usługinicobiekt funkcji. {name} to nazwa lub identyfikator, jeśli żadna funkcja nie ma tej nazwy.
PATCH /v1/functions/{name}rola_usługi{ code?, env_vars?, is_active?, permissions? }obiekt funkcji
DELETE /v1/functions/{name}rola_usługinic{ "data": null }
GET /v1/functions/{name}/coderola_usługinic{ "data": { "code": "…" } }
GET /v1/functions/{name}/envrola_usługinic{ "data": [ { "key", "value" } ] }, wartości odszyfrowane
PUT /v1/functions/{name}/envrola_usługi{ "vars": [ { "key", "value" } ] }{ "data": null }

Uwagi:

  • POST jest dodatkiem do name: opublikowanie istniejącej nazwy zastępuje jej kod. Pole env_vars w tej treści zastępuje istniejące zmienne; pomiń to, aby je zachować.
  • W PATCH, permissions jest łączone pole po polu: { "permissions": { "timeout_secs": 60 } } zachowuje allow_net i memory_mb. Pole poza jego granicami zwraca 400.
  • PUT …/env zastępuje cały zestaw zmiennych i jest jedyną trasą, która je szyfruje. Zobacz sekrety.
  • Funkcja z is_active: false nie została znaleziona przez invoke ani przez zadania.
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\"))"}'
#
Dzwonić

3. Wywołaj

POST /v1/functions/{name}/invoke. Rola: anon, authenticated lub service_role.

PoleTypDomyślny
methodsmyczkowyPOSTMetoda HTTP widziana przez funkcję
pathsmyczkowy/Ścieżka widziana przez funkcję
headersobiektnicNagłówki nadane funkcji. Zarezerwowane nagłówki są usuwane.
bodydowolny JSONnicCiało nadane funkcji
Nagłówek żądania
apikeyWymagany
Content-Type: application/jsonWymagany
Authorization: Bearer <JWT>Opcjonalnie: zadzwoń jako ten użytkownik
X-Aurabase-Invoke-Mode: rawOpcjonalnie: zwróć własną odpowiedź funkcji

Domyślna odpowiedź, zawsze 200:

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

status to status Twojej funkcji. logs jest pusty dla deno. W trybie surowym odpowiedź jest własną funkcją: status, content-type, bajty plus x-aurabase-invoke-origin: function.

AwariaStatuserror.code
Nie znaleziono funkcji lub jest ona nieaktywna404NOT_FOUND
Czas wykonania nieosiągalny503SERVICE_UNAVAILABLE
Platforma przestała czekać na runtime (po timeout_secs plus margines)504TIMEOUT
Limit planu wyczerpany403QUOTA_EXCEEDED
Zbyt wiele połączeń od jednego klienta429rate_limit_exceeded
Treść powyżej około 256 KiB503SERVICE_UNAVAILABLE
#
Tło

4. Zadania i kolejka niedostarczonych wiadomości

Metoda i ścieżkaRolaTreść lub zapytanieOdpowiedź
POST /v1/functions/jobsrola_usługi{ function_name, payload?, delay_secs?, max_attempts? }praca
GET /v1/functions/jobsrola_usługi?status=&limit= (1 do 500, domyślnie 50)szereg miejsc pracy
GET /v1/functions/jobs/{id}rola_usługinicpraca
POST /v1/functions/jobs/{id}/retryrola_usługinicpraca, powrót do pending
GET /v1/functions/jobs/dlqrola_usługi?limit=szereg martwych stanowisk pracy
POST /v1/functions/jobs/dlq/requeuerola_usługinic{ "data": { "requeued": 1 } }

Obiekt pracy: id, project_id, function_name, payload, status (pending, running, completed, failed, dead), attempts, max_attempts, error, scheduled_at, started_at, completed_at, created_at. Zachowanie: Zadania, cron i kolejka utraconych wiadomości.

#
Harmonogram

5. Kron

Metoda i ścieżkaRolaCiałoOdpowiedź
POST /v1/functions/cronrola_usługi{ name, schedule, function_name, payload? }wpis crona
GET /v1/functions/cronrola_usługinictablica wpisów
DELETE /v1/functions/cron/{name}rola_usługinic{ "data": null } lub 404 dla nieznanej nazwy

Wpis: id, project_id, name, schedule (przechowywany z 6 polami), function_name, payload, is_active, last_run, next_run, created_at.

#
Monitor

6. Alerty

Metoda i ścieżkaRolaTreść lub zapytanie
POST /v1/functions/alertsrola_usługi{ name, metric, condition, threshold, channel, destination }
GET /v1/functions/alertsrola_usługinic
PATCH /v1/functions/alerts/{id}rola_usługi{ "enabled": true }
DELETE /v1/functions/alerts/{id}rola_usługinic
GET /v1/functions/alerts/{id}/eventsrola_usługi?limit=&offset=
GET /v1/functions/alerts/eventsrola_usługi?limit=&offset=

Wartości i zachowanie: Alerty.

Ostatnia aktualizacja · 12 paź 2026