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

JavaScript SDK'sı: işlevler

aura.functions'nin her yöntemi, imzası, ihtiyaç duyduğu rol ve döndürdüğü şey.

8 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.
#
Kurulum

1. Müşteriyi alın

aura.functions bir FunctionsService'dir. Neredeyse hiçbir zaman kendin inşa etmiyorsun.

client.tstypescript
import { createClient } from '@aurabase/aurabase-js'

const aura = createClient('https://my-app.aurabase.cloud', 'aura_anon_…')
aura.functions.invoke('hello')

@aurabase/functions paketi @aurabase/aurabase-js ile yüklenir. Yalnızca kendi istemcinizi @aurabase/core adresinden oluşturuyorsanız tek başına yükleyin. Node.js 20 veya üstünü gerektirir ve ES modüllerini ve CommonJS'yi tür bildirimleriyle birlikte gönderir.

Her yöntem, hiçbir zaman atmayan bir { data, error } nesnesi olan Promise<AuraResponse<T>> değerini döndürür:

Vakadataerror
Başarıdeğernull
İçerik olmadan başarı (204, boş gövde)nullnull
Başarısızlıknullbir AuraError

Değere ihtiyacınız olduğunda data yerine error test edin: ancak o zaman TypeScript bunun null olmadığını bilir.

YöntemRol gerekli
invokegenel anahtar (anon), kullanıcı veya service_role
diğer tüm yöntemlerservice_role (yalnızca sunucu)
#
Ara

2. çağırmak

signaturetypescript
invoke<T = unknown>(
  name: string,
  options?: {
    body?: unknown
    method?: string
    path?: string
    headers?: Record<string, string>
    signal?: AbortSignal
    timeout?: number
    responseType?: 'json' | 'text' | 'blob' | 'arrayBuffer'
  },
): Promise<AuraResponse<T>>
SeçenekVarsayılan
bodyhiçbiriJSON serileştirilebilir. Blob, ArrayBuffer yazılan bir dizi, FormData, URLSearchParams veya ReadableStream herhangi bir istek olmadan invalid_body hatasını döndürür.
method'POST'Fonksiyonun gördüğü yöntem
path'/'Fonksiyonun gördüğü yol
headershiçbiriFonksiyona verilen başlıklar. authorization, apikey, x-request-id ve x-aura-* platform tarafından atılır.
timeoutistemci varsayılanı, 30 snMilisaniye. Aramayı iptal eder ve timeout kodunu döndürür.
signalhiçbiriKendi AbortSignal. İptal edilen bir çağrı timeout kodunu döndürür.
responseType'json'data'nin kodu nasıl çözülür: ayrıştırılmış bir değer, bir dize, bir Blob veya bir ArrayBuffer

name URL'de kodlanmıştır, dolayısıyla /, ? veya # içeren bir değer konumundan ayrılamaz. Bu tür karakterleri içeren bir ad bulunamıyor.

invoke önce süresi dolmuş kullanıcı oturumunu yeniler, varsa kullanıcıya JWT gönderir ve bir daha asla arama yapmayı denemez.

Nasıl kullanılır: Bir işlevi çağırın. Nasıl başarısız olur: Hatalar, zaman aşımları ve yeniden denemeler.

#
Yönet

3. listeleyin ve alın

signaturestypescript
list(): Promise<AuraResponse<FunctionDef[]>>
get(nameOrId: string): Promise<AuraResponse<FunctionDef>>

Her ikisinin de service_role anahtarına ihtiyacı var. get, adını veya kimliğini kabul eder; bir işlev bir kimlik gibi adlandırılırsa ad kazanır. Bir FunctionDef işlevin kaynak kodunu ve değişkenlerini içerir; bu nedenle genel anahtar 403 alır.

Bir işlevi dağıtmak, güncellemek veya silmek ya da gizli diziler yazmak için herhangi bir yöntem yoktur: HTTP API veya CLI kullanın.

#
Arka plan

4. İşler

signaturestypescript
enqueueJob(
  functionName: string,
  options?: { payload?: unknown; delaySecs?: number; maxAttempts?: number },
): Promise<AuraResponse<Job>>

listJobs(options?: { status?: string; limit?: number }): Promise<AuraResponse<Job[]>>
getJob(jobId: string): Promise<AuraResponse<Job>>
  • enqueueJob, functionName boş olduğunda veya yalnızca boşluk olduğunda herhangi bir istek olmadan { code: 'bad_request', status: 400 } değerini döndürür ve aksi takdirde adı kısaltır.
  • listJobs, status (pending, running, completed, failed, dead) üzerinde filtre uygular ve varsayılan olarak 50 olmak üzere 1 ile 500 arasında iş döndürür.
  • Ölen işleri yeniden denemenin bir yöntemi yoktur: atılacak iletiler kuyruğuna bakın.
#
Program

5. Cron

signaturestypescript
listCronJobs(): Promise<AuraResponse<CronJob[]>>
createCronJob(
  name: string,
  schedule: string,
  functionName: string,
  options?: { payload?: unknown },
): Promise<AuraResponse<CronJob>>
deleteCronJob(name: string): Promise<AuraResponse<null>>

schedule UTC'de 5 veya 6 alana sahiptir. deleteCronJob, adını alır ve bilinmeyen bir ad için 404 değerini döndürür. getCronJob veya updateCronJob yok.

#
Referans

6. Türler ve hatalar

@aurabase/aurabase-js ve @aurabase/functions tarafından dışa aktarıldı:

importstypescript
import {
  FunctionsHttpError,
  FunctionsRelayError,
  isRelayStatus,
  type FunctionsResponseType,
} from '@aurabase/aurabase-js'
İhracatBu ne
FunctionsHttpErrorİşleviniz (veya yönetim rotanız) bir hatayla yanıt verdi. error.context döndürdüğü gövdeyi tutar.
FunctionsRelayErrorPlatform başarısız oldu: ağ geçidi veya çalışma zamanı tarafından üretilen ağ (status 0) veya 502, 503, 504.
isRelayStatus(status)0, 502, 503, 504 için true .
FunctionsResponseType`'json' \

Her iki hata sınıfı da AuraError öğesini genişletir, dolayısıyla isAuraError(error) doğrudur. AuraError, status, code, message, details, retryAfter ve isNotFound, isUnauthorized, isForbidden ve isRateLimited alıcılarına sahiptir.

@aurabase/aurabase-js tarafından dışa aktarılan veri türleri:

TürAlanlar
FunctionDefid, project_id, name, runtime, code, code_hash, env_vars, permissions, is_active, created_at, updated_at
FunctionPermissionsallow_net: string[], memory_mb: number, timeout_secs: number
Jobid, project_id, function_name, status, payload, attempts, max_attempts, error?, scheduled_at, started_at?, created_at, completed_at?
CronJobid, project_id, name, schedule, function_name, payload, is_active, last_run?, next_run?, created_at
AuraResponse<T>{ data, error, meta? }
Geriye dönük uyumlu özellikler

Bir işlev bir JSON nesnesi döndürdüğünde, data aynı zamanda eski sürümlere karşı yazılan kod için saklanan body ve status olmak üzere numaralandırılamayan iki özelliği de taşır. Yeni kodda bunlara güvenmeyin.