Aurabase Logosu
aura tabanıdokümanlar
dokümanlar›Edge Functions›HTTP API reference

Edge Functions HTTP API referansı

Her rotanın gerektirdiği rolle birlikte işlevler hizmetinin tam HTTP yüzeyi.

10 dk. oku·Seviye referans·12 Eki 2026 tarihinde revize edildi
Bu İngilizce metin, Fransızca orijinalinden otomatik olarak oluşturulmuştur ve henüz incelenmemiştir.
Bu sayfa otomatik olarak çevrildi. İngilizce versiyonu yetkilidir.
#
Sözleşmeler

1. Sözleşmeler

Temel URL. Projenizin URL'si, örneğin https://my-app.aurabase.cloud. Proje, ana bilgisayar tarafından tanımlandığından aşağıdaki yollar hiçbir proje kimliği taşımamaktadır. /v1/functions/{project_id}/… uzun biçimi de kabul edilir.

Kimlik Doğrulaması. Anahtarınızı apikey başlığında gönderin. Oturum açmış kullanıcı olarak aramak için Authorization: Bearer <JWT> ekleyin. Studio aynı rotaları bir konsol oturum belirteciyle çağırır ve bu ona admin rolünü verir.

RolNasıl anladınArayabilir
anonProjenin genel anahtarıPOST …/invoke
authenticatedGenel anahtar artı kullanıcının JWTPOST …/invoke
service_roleservice_role anahtarı (yalnızca sunucu)Aşağıdaki her rota
adminBir konsol oturumu (Stüdyo)Aşağıdaki her rota

Başka herhangi bir rota 403 ile anon ve authenticated yanıtını verir:

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" } }

Biçimi. Gövdeler JSON'dur ve Content-Type: application/json gerekir. Başarı { "data": …, "meta": null }. Bir başarısızlık { "error": { "code", "message", "type", "request_id" } }.

İşlev nesnesi.

AlanTür
id, project_id, namedize
runtime"deno" veya "wasm"
codedizedeno kaynağı; wasm için derlenmiş ikili dosyanın base64'ü
code_hashdizecode SHA-256
env_varsnesneDeğerin anahtarı
permissionsnesneallow_net (dize dizisi), memory_mb, timeout_secs
is_activeboolean
created_at, updated_atISO8601
#
Yönet

2. İşlevler

Yöntem ve yolRolVücutYanıt
GET /v1/functionshizmet_rolühiçbiriişlev nesneleri dizisi
POST /v1/functionshizmet_rolü{ name, runtime, code, env_vars? }işlev nesnesi
GET /v1/functions/{name}hizmet_rolühiçbiriişlev nesnesi. {name} addır veya bu ada sahip hiçbir işlev olmadığında kimliktir.
PATCH /v1/functions/{name}hizmet_rolü{ code?, env_vars?, is_active?, permissions? }işlev nesnesi
DELETE /v1/functions/{name}hizmet_rolühiçbiri{ "data": null }
GET /v1/functions/{name}/codehizmet_rolühiçbiri{ "data": { "code": "…" } }
GET /v1/functions/{name}/envhizmet_rolühiçbiri{ "data": [ { "key", "value" } ] }, değerlerin şifresi çözüldü
PUT /v1/functions/{name}/envhizmet_rolü{ "vars": [ { "key", "value" } ] }{ "data": null }

Notlar:

  • POST, name üzerinde bir üst öğedir: mevcut bir adın gönderilmesi, kodunun yerine geçer. Bu gövdedeki bir env_vars alanı mevcut değişkenlerin yerini alır; onları tutmak için bunu ihmal edin.
  • PATCH içinde, permissions alan alan birleştirilir: { "permissions": { "timeout_secs": 60 } }, allow_net ve memory_mb tutar. Sınırlarının dışındaki bir alan 400 değerini döndürür.
  • PUT …/env tüm değişken kümesinin yerine geçer ve bunları şifreleyen tek yoldur. sırlarına bakın.
  • is_active: false içeren bir işlev invoke veya işler tarafından bulunamadı.
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\"))"}'
#
Ara

3. Çağır

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

AlanTürVarsayılan
methoddizePOSTİşlev tarafından görülen HTTP yöntemi
pathdize/İşlev tarafından görülen yol
headersnesnehiçbiriFonksiyona verilen başlıklar. Ayrılmış başlıklar bırakılır.
bodyherhangi bir JSONhiçbiriFonksiyona verilen gövde
İstek başlığı
apikeyGerekli
Content-Type: application/jsonGerekli
Authorization: Bearer <JWT>İsteğe bağlı: söz konusu kullanıcı olarak çağrı yapın
X-Aurabase-Invoke-Mode: rawİsteğe bağlı: işlevin kendi yanıtını döndür

Varsayılan yanıt, her zaman 200:

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

status, işlevinizin durumudur. logs deno için boş. Ham modda yanıt, işlevinizin kendisine aittir: durum, content-type, bayt artı x-aurabase-invoke-origin: function.

BaşarısızlıkDurumerror.code
İşlev bulunamadı veya etkin değil404NOT_FOUND
Çalışma zamanına ulaşılamıyor503SERVICE_UNAVAILABLE
Platform çalışma zamanını beklemeyi bıraktı (timeout_secs artı bir kenar boşluğundan sonra)504TIMEOUT
Plan kotası doldu403QUOTA_EXCEEDED
Bir müşteriden çok fazla çağrı429rate_limit_exceeded
Yaklaşık 256 KiB'nin üzerindeki gövde503SERVICE_UNAVAILABLE
#
Arka plan

4. İşler ve teslim edilmeyen mektup kuyruğu

Yöntem ve yolRolGövde veya sorguYanıt
POST /v1/functions/jobshizmet_rolü{ function_name, payload?, delay_secs?, max_attempts? }iş
GET /v1/functions/jobshizmet_rolü?status=&limit= (1 ila 500, varsayılan 50)iş dizisi
GET /v1/functions/jobs/{id}hizmet_rolühiçbiriiş
POST /v1/functions/jobs/{id}/retryhizmet_rolühiçbiriiş, pending'e geri dön
GET /v1/functions/jobs/dlqhizmet_rolü?limit=ölü işler dizisi
POST /v1/functions/jobs/dlq/requeuehizmet_rolühiçbiri{ "data": { "requeued": 1 } }

İş nesnesi: id, project_id, function_name, payload, status (pending, running, completed, failed, dead), attempts, max_attempts, error, scheduled_at, started_at, completed_at, created_at. Davranış: İşler, cron ve atılacak ileti kuyruğu.

#
Program

5. Cron

Yöntem ve yolRolVücutYanıt
POST /v1/functions/cronhizmet_rolü{ name, schedule, function_name, payload? }cron girişi
GET /v1/functions/cronhizmet_rolühiçbirigiriş dizisi
DELETE /v1/functions/cron/{name}hizmet_rolühiçbiri{ "data": null } veya bilinmeyen bir adı için 404

Giriş: id, project_id, name, schedule (6 alanla saklanır), function_name, payload, is_active, last_run, next_run, created_at.

#
Monitör

6. Uyarılar

Yöntem ve yolRolGövde veya sorgu
POST /v1/functions/alertshizmet_rolü{ name, metric, condition, threshold, channel, destination }
GET /v1/functions/alertshizmet_rolühiçbiri
PATCH /v1/functions/alerts/{id}hizmet_rolü{ "enabled": true }
DELETE /v1/functions/alerts/{id}hizmet_rolühiçbiri
GET /v1/functions/alerts/{id}/eventshizmet_rolü?limit=&offset=
GET /v1/functions/alerts/eventshizmet_rolü?limit=&offset=

Değerler ve davranış: Uyarılar.