Aurabase Logosu
aura tabanıdokümanlar
dokümanlar›Kılavuzlar›Upgrade to SDK 0.6

SDK 0.6'ya yükseltme ve yeni işlev kuralları

Döndürmeniz gerekebilecek gizli dizileri içeren, JavaScript SDK'sından Edge Functions çağıran projelere yönelik bir kontrol listesi.

6 dk. oku·Seviye orta düzey·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.
#
Özet

1. Ne değişti

Yeni sürümü yükleyin:

terminalbash
npm install @aurabase/aurabase-js@0.6.0

Sürümde bir güvenlik değişikliği ve hataların ve yanıtların nasıl raporlanacağına ilişkin çeşitli düzeltmeler yer alıyor. Güvenlik değişikliği aynı zamanda hizmet işlevlerinde de geçerlidir: Hangi SDK sürümünü kullanırsanız kullanın, hizmet güncellenir güncellenmez projenize uygulanır.

#
kırma

2. Son değişiklikler

Yönetim çağrıları artık bir service_role anahtarına ihtiyaç duyuyor

functions.list(), get(), listJobs(), getJob(), enqueueJob(), listCronJobs(), createCronJob() ve deleteCronJob() 403 öğesini genel anahtara veya oturum açmış kullanıcıya döndürür. Daha önce, list() ve get() her işlevin kaynak kodunu ve değişkenlerini ortak anahtarı tutan herkese döndürüyordu. güvenlik modeline bakın.

before.ts (tarayıcı)typescript
const { data } = await aura.functions.list() // genel anahtarla çalıştı
sonra: sunucunuza taşıyıntypescript
// sunucu/api/işlevler.ts
const admin = createClient(process.env.AURA_URL!, process.env.AURA_SERVICE_ROLE_KEY!)
export const GET = async () => Response.json((await admin.functions.list()).data?.map((f) => f.name))

Yalnızca kullanıcı arabiriminizin ihtiyaç duyduğu şeyleri (örneğin adları) döndürün, hiçbir zaman tanımın tamamını döndürmeyin.

JSON olamayacak bir gövde reddedildi

invoke(name, { body: new Blob(…) }) ve ArrayBuffer ile aynı şekilde yazılan diziler, FormData, URLSearchParams veya ReadableStream artık invalid_body hata kodunu döndürüyor. Daha önce işlev {} alıyordu ve herhangi bir hata bildirilmiyordu. İkili verileri (base64) kodlayın veya Depolamaya yükleyin ve yolunu gönderin.

Bir işlevin kendi 502, 503 veya 504 değeri bir FunctionsHttpError'dir

Daha önce bu durumlar, kodunuz bunları döndürse bile her zaman FunctionsRelayError olarak sınıflandırılıyordu. Şimdi FunctionsRelayError, platformunun başarısız olduğu anlamına gelir. FunctionsRelayError tarihinde yeniden denediyseniz, yeniden deneme mantığınızın hala eşleşip eşleşmediğini kontrol edin: bkz. hataları, zaman aşımları ve yeniden denemeler.

FunctionDef daha kesindir

env_vars Record<string, string>'dir (Record<string, unknown> idi) ve permissions eklenir. Bu alanları okuyan kod çalışmaya devam eder; Başka türden değerler atayan kod artık derlenmiyor.

#
Düzeltmeler

3. Davranış düzeltmeleri

önceŞimdi
Metinle birlikte 500 değerini döndüren bir işlev, "null" mesajını ürettiMesaj, fonksiyonunuzun döndürdüğü metindir
{ data: null, error: null } metinle birlikte 200 değerini döndüren bir işlevdata metindir
Varsayılan modda bir ikili yanıt { data: null, error: null } ürettierror.code, invalid_response ve mesajda responseType öneriliyor
responseType: 'text' JSON { "error": "…" } hatasıyla birlikte HTTP 503 gösterdiMesaj, varsayılan modda olduğu gibi JSON'dan okunur
'text', 'blob' ve 'arrayBuffer' varsayılan zaman aşımına uğramadıİstemci zaman aşımı (30 sn) geçerlidir
URL'ye kodlanmamış bir işlev adı eklendiKodlanmıştır: a/../b yolunun içinde kalır
Bir işteki delaySecs göz ardı edildi: iş aynı anda çalıştırıldıİş tarihini bekliyor

Yeni dışa aktarımlar: FunctionsHttpError, FunctionsRelayError, isRelayStatus ve FunctionsResponseType @aurabase/aurabase-js ve @aurabase/functions öğesinden gelir. Bunları @aurabase/functions adresinden içe aktardıysanız bu çalışmaya devam eder; pnpm ile artık bu pakete doğrudan bağımlılık olarak ihtiyacınız yok.

@aurabase/auth içinde, getClaims() sonucundaki email türü artık string | null olur; bu, hizmetin e-posta adresi olmayan bir kullanıcı için döndürdüğü şeydir.

CLI. aura functions deploy artık zaten var olan bir işlevin sırlarını silmiyor. aura functions invoke --data, {} göndermek yerine geçersiz JSON'u reddediyor. aura functions download, Deno işlevleri için çalışır. aura functions serve duyurduğu bağlantı noktasını dinler. aura studio Studio'yu 3000 numaralı bağlantı noktasında açar.

#
Güvenlik

4. Açığa çıkan sırları döndürün

Projeniz bu değişiklikten önceki bir hizmet sürümünde çalışıyorsa, genel anahtarınızın sahibi, işlevlerinizin kodunu ve değişkenlerini okuyabilir. Okunduklarını varsayalım:

  1. İşlevlerinizi service_role anahtarıyla listeleyin ve her birinin değişkenlerini açın.
  2. İçerdikleri her sırrı dönüşümlü olarak kullanın: ödeme anahtarları, webhook sırları, üçüncü taraf jetonları.
  3. Doğrudan index.ts'de yazılan gizli dizileri kaldırın ve bunları değişkenlere taşıyın.
  4. Oluşturmadığınız girişler için projenin işlerini ve uyarı kurallarını kontrol edin.
#
Kontrol listesi

5. Kontrol Listesi

  • Kodunuzu, bir tarayıcıda veya ortak anahtarla çalışan kodda functions.list(, functions.get(, listJobs(, getJob(, enqueueJob(, createCronJob(, deleteCronJob( ve listCronJobs( için arayın.
  • Düz JSON olmayan body: değerlerini arayın.
  • FunctionsRelayError'a bağlı olan yeniden deneme mantığını kontrol edin.
  • Sırları yukarıda açıklandığı gibi döndürün.
  • CLI'yi güncelleyin.