مستندات›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.
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 أبدًا.
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,
…
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
لقد قمت باستدعاء دالة باستخدام المفتاح العام anon. هذه هي المكالمة الوحيدة التي يمكن للمفتاح العام إجراؤها: راجع من يمكنه الاتصال بـ.