Skip to main content
דף זה הוא חלק ממיומנות של סוכן קידוד AI ונכתב לסוכנים, לא לבני אדם. לתיעוד Base44 הקריא לבני אדם, ראה את תיעוד המפתחים.

Creating Functions

פונקציות Base44 הן פונקציות backend serverless שרצות על Deno. הן מוגדרות מקומית בפרויקט שלך ונפרסות ל-Base44 backend.

תיקיית Functions

כל הגדרות הפונקציות חייבות להיות ממוקמות בתיקיית base44/functions/ בפרויקט שלך. הפונקציה הפשוטה ביותר היא תיקייה עם קובץ entry.ts או entry.js בתוכה. מבנה לדוגמה:

איך ליצור פונקציה

  1. צור תיקייה חדשה ב-base44/functions/ עם שם הפונקציה שלך (השתמש ב-kebab-case)
  2. צור entry.ts (או entry.js) באותה תיקייה
  3. פרוס את הפונקציה באמצעות ה-CLI

גילוי פונקציות

ה-CLI מגלה פונקציות מקבצי entry.ts או entry.js. תיקייה שמכילה אחד מהקבצים האלה היא פונקציה:
שם הפונקציה הוא הנתיב משורש ה-functions לאותה תיקייה. לדוגמה: כללים:
  • entry.ts או entry.js חייבים להיות בתוך תת-תיקייה בעלת שם, לא ישירות ב-base44/functions/
  • כל קבצי *.js, *.ts, ו-*.json תחת תיקיית הפונקציה נכללים בעת פריסה
  • נתיבי פונקציה עם נקודה בכל קטע נתיב מתעלמים

קובץ Entry Point

הפונקציות רצות על Deno וחייבות לייצא באמצעות Deno.serve(). השתמש בקידומת npm: עבור חבילות npm.

אובייקט Request

הפונקציה מקבלת אובייקט Deno Request סטנדרטי:
  • req.json() - נתח גוף JSON
  • req.text() - קבל גוף טקסט גולמי
  • req.headers - גש לכותרות בקשה
  • req.method - שיטת HTTP

אובייקט Response

החזר באמצעות Response.json() לתגובות JSON:

דוגמה מלאה

מבנה תיקייה

entry.ts

שימוש בגישת Service Role

לפעולות ברמת אדמין, השתמש ב-asServiceRole:

שימוש בסודות

גש למשתני סביבה שהוגדרו בלוח האפליקציה:

מוסכמות מתן שמות

  • שם תיקייה: השתמש ב-kebab-case (למשל, process-order, send-notification)
  • שם פונקציה: מגיע מנתיב התיקייה תחת base44/functions/
    • תקף: process-order, orders/process, send_notification, myFunction
    • לא תקף: process.order, send.notification.v2
  • קובץ entry: השתמש ב-entry.ts או entry.js

פריסת פונקציות

לאחר יצירת הפונקציה שלך, פרוס אותה ל-Base44:
לפרטים נוספים על פריסה, ראה functions-deploy.md.

הערות

  • פונקציות רצות על Deno runtime, לא Node.js
  • השתמש בקידומת npm: עבור חבילות npm (למשל, npm:@base44/sdk)
  • השתמש ב-createClientFromRequest(req) כדי לקבל client שיורש את הקשר האימות של הקורא
  • הגדר סודות דרך לוח האפליקציה עבור מפתחות API
  • ודא לטפל בשגיאות בחסד ולהחזיר קודי סטטוס HTTP מתאימים

טעויות נפוצות

דף זה תורגם באמצעות בינה מלאכותית. למידע המדויק והעדכני ביותר, עיין בגרסה האנגלית.