شعار أوراباسي
aurabaseمستندات
مستندات›Edge Functions›Your first function

وظيفة الحافة الأولى الخاصة بك

ستكتب دالة، وتنشرها في مشروعك، وتستدعيها من Node.js وتقرأ نتيجتها. تم تشغيل كل أمر أدناه بشكل حقيقي.

10 د قراءة·المستوى مبتدئ·تمت المراجعة في 12‏/10‏/2026
تم إنشاء هذا النص الإنجليزي تلقائيًا من النص الأصلي الفرنسي ولم تتم مراجعته بعد.
تمت ترجمة هذه الصفحة تلقائيًا. النسخة الإنجليزية موثوقة.
#
المتطلبات

قبل أن تبدأ

أنت بحاجة إلى:

  • Node.js 20 أو الأحدث.
  • aura سطر الأوامر. قم بتثبيته باستخدام npm install -g @aurabase/cli (راجع مرجع CLI للأنظمة الأساسية الأخرى).
  • حساب Aurabase.
يتحدث CLI الفرنسية اليوم

يطبع aura CLI رسائله باللغة الفرنسية. المخرجات أدناه منسوخة من عمليات تشغيل حقيقية، وليست مترجمة.

#
مشروع

1. إنشاء وربط المشروع

قم بتسجيل الدخول وإنشاء مشروع وربط مجلد العمل الخاص بك به. استبدل <org-slug> بالرقم الثابت الموضح بواسطة aura orgs list.

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

يقوم الأمر الأخير بطباعة عنوان URL للمشروع ومفاتيح API الأولى. انسخها الآن: يتم عرض المفاتيح الأولية مرة واحدة فقط. إذا فاتتك هذه العناصر، فقم بإنشاء أخرى جديدة في الاستوديو ضمن الإعدادات، ومفاتيح API.

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_…')

ربط المجلد الحالي بالمشروع:

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

ثم أخبر واجهة سطر الأوامر بمكان مستوى البيانات والمفتاح الذي يجب استخدامه. مطلوب مفتاح service_role للنشر، لأن نشر التعليمات البرمجية هو إجراء إداري.

.envbash
AURA_PROJECT_URL=http://my-app-ajap5iw2.localhost:8080
AURA_API_KEY=<your service_role key>
احتفظ بمفتاح Service_role على جهازك

يتجاوز المفتاح service_role الأمان على مستوى الصف ويمكنه نشر التعليمات البرمجية. لا تضعها أبدًا في حزمة متصفح أو تلتزم .env.

#
الكود

2. اكتب الوظيفة

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

افتح aurabase/functions/hello/index.ts واستبدل محتواه:

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' },
  })
})

يجب أن تستدعي الدالة Deno.serve. لا يتم استدعاء export default أبدًا.

#
نشر

3. قم بنشره

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 !

اتصل بها مرة واحدة من واجهة سطر الأوامر (CLI) للتأكد من أنها تجيب:

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

4. اتصل به من SDK

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!

لقد قمت باستدعاء دالة باستخدام المفتاح العام anon. هذه هي المكالمة الوحيدة التي يمكن للمفتاح العام إجراؤها: راجع من يمكنه الاتصال بـ.