Aurabase Logosu
aura tabanıdokümanlar
dokümanlar›Edge Functions›Your first function

İlk Edge İşleviniz

Bir fonksiyon yazacak, onu projenize dağıtacak, onu Node.js'den çağıracak ve sonucunu okuyacaksınız. Aşağıdaki her komut gerçek anlamda çalıştırıldı.

10 dk. oku·Seviye acemi·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.
#
Gereksinimler

Başlamadan önce

İhtiyacınız var:

  • Node.js 20 veya üzeri.
  • aura CLI. npm install -g @aurabase/cli ile yükleyin (diğer platformlar için CLI referansı'ye bakın).
  • Bir Aurabase hesabı.
CLI bugün Fransızca konuşuyor

aura CLI, mesajlarını Fransızca olarak yazdırır. Aşağıdaki çıktılar çevrilmemiş, gerçek çalışmalardan kopyalanmıştır.

#
Proje

1. Bir proje oluşturun ve bağlayın

Oturum açın, bir proje oluşturun ve çalışma klasörünüzü buna bağlayın. <org-slug> öğesini aura orgs list tarafından gösterilen bilgiyle değiştirin.

terminalbash
aura login --email you@example.com --password '<your-password>'
aura orgs list
aura projects create my-app --org <org-slug>

Son komut proje URL'sini ve ilk API anahtarlarınızı yazdırır. Şimdi bunları kopyalayın: ilk tuşlar yalnızca bir kez gösterilir. Bunları kaçırırsanız Studio'da Ayarlar, API anahtarları altında yenilerini oluşturun.

outputtext
  ✔ Projet créé : my-app (e99f2c4f-43e2-4d08-b023-b4f9e687d17c)
    import { createClient } from '@aurabase/aurabase-js'
    const client = createClient('http://my-app-ajap5iw2.localhost:8080', 'aura_anon_…')

Geçerli klasörü projeye bağlayın:

terminalbash
aura link --project-id e99f2c4f-43e2-4d08-b023-b4f9e687d17c
outputtext
  ✔ Projet e99f2c4f-… lié dans aurabase.toml.
  • URL du projet : http://my-app-ajap5iw2.localhost:8080

Ardından CLI'ye veri düzleminin nerede olduğunu ve hangi anahtarın kullanılacağını söyleyin. Kodu dağıtmak bir yönetim eylemi olduğundan, dağıtmak için bir service_role anahtarı gereklidir.

.envbash
AURA_PROJECT_URL=http://my-app-ajap5iw2.localhost:8080
AURA_API_KEY=<your service_role key>
service_role anahtarını makinenizde tutun

Bir service_role anahtarı, satır düzeyindeki güvenliği atlar ve kodu dağıtabilir. Asla bir tarayıcı paketine koymayın veya .env işlemi yapmayın.

#
Kod

2. Fonksiyonu yazın

terminalbash
aura functions new hello
outputtext
  ✔ Nouvelle fonction créée dans aurabase/functions/hello (gabarit TypeScript Deno)

aurabase/functions/hello/index.ts dosyasını açın ve içeriğini değiştirin:

aurabase/functions/hello/index.tstypescript
Deno.serve(async (req: Request) => {
  const { name = 'world' } = await req.json().catch(() => ({}))

  return new Response(JSON.stringify({ greeting: `Hello, ${name}!` }), {
    headers: { 'content-type': 'application/json' },
  })
})

Bir işlevin Deno.serve öğesini çağırması gerekir. Bir export default asla çağrılmaz.

#
Dağıt

3. Dağıtın

terminalbash
aura functions deploy hello
outputtext
  ✔ Détection script TypeScript (runtime: deno)...
  • Envoi vers le service (runtime: deno)...
✔ Fonction 'hello' déployée avec succès !

Cevap verip vermediğini kontrol etmek için CLI'den bir kez arayın:

terminalbash
aura functions invoke hello --data '{"name":"Ada"}'
outputtext
  ✔ Réponse (200) :
{
  "data": {
    "body": { "greeting": "Hello, Ada!" },
    "duration_ms": 74,
    …
#
SDK'sı

4. SDK'dan arayın

terminalbash
mkdir hello-client && cd hello-client
npm init -y
npm install @aurabase/aurabase-js
hello.mjstypescript
import { createClient } from '@aurabase/aurabase-js'

const aura = createClient(process.env.AURA_PROJECT_URL, process.env.AURA_ANON_KEY)

const { data, error } = await aura.functions.invoke('hello', { body: { name: 'Ada' } })
if (error) throw error

console.log(data.greeting)
terminalbash
AURA_PROJECT_URL=http://my-app-ajap5iw2.localhost:8080 AURA_ANON_KEY=aura_anon_… node hello.mjs
outputtext
Hello, Ada!

Genel anon anahtarıyla bir işlevi çağırdınız. Bu, bir genel anahtarın yapabileceği tek çağrıdır: bkz. kim neyi arayabilir.