כל פרויקט תומך במקסימום של 50 פונקציות בקאנד.
יצירת פונקציות
צור פונקציות בקאנד כקבצי TypeScript בתיקיית ה-functions של הפרויקט שלך. כברירת מחדל תיקיית ה-functions היאbase44/functions/, אבל אתה יכול להתאים את הנתיב בתצורת הפרויקט שלך.
כל פונקציה חיה בתיקיית משנה משלה עם קובץ entry.ts או entry.js:
functions
<function-name>
entry.ts
functions/sendWelcomeEmail/entry.ts יוצר פונקציה בשם sendWelcomeEmail. אתה יכול גם לקנן פונקציות בתיקיות משנה לארגון. functions/email/send/entry.ts יוצר פונקציה בשם email/send.
הוספת קובץ תצורה
לצרכים מתקדמים כמו שמות פונקציה מותאמים או automations, הוסף קובץfunction.jsonc:
functions
<function-name>
entry.ts
function.jsonc
| Property | תיאור |
|---|---|
name | אופציונלי. מזהה ייחודי עבור הפונקציה. בשימוש בעת הפעלה דרך SDK או HTTP. ברירת מחדל היא נתיב התיקייה יחסית לשורש ה-functions. |
entry | הקובץ המכיל את קוד הפונקציה. |
automations | אופציונלי. מערך של תצורות automation להרצת הפונקציה לפי לוח זמנים או בתגובה לאירועי מסד נתונים. ראה Automations לפרטים. |
entry.ts
קובץ הקוד מכיל את לוגיקת הפונקציה שלך. פונקציות חייבות להשתמש ב-wrapper שלDeno.serve() ולהחזיר אובייקטי Response:
בדיקה מקומית
הרץ את הפונקציות שלך מקומית עםbase44 dev כדי לבדוק שינויים מבלי לפרוס. ראה Local development לפרטים.
פריסת פונקציות
פרוס פונקציות עםfunctions deploy או deploy כדי לדחוף את כל משאבי הפרויקט בבת אחת. אתה יכול לפרוס פונקציות ספציפיות לפי שם עם functions deploy <names...>, או להשתמש ב---force להסרת פונקציות מרוחקות שלא נמצאו מקומית.
כדי להוריד פונקציות מופצות לפרויקט המקומי שלך, השתמש ב-functions pull. כדי לראות מה מופץ כרגע, השתמש ב-functions list.
קריאה לפונקציות
קרא לפונקציות בקאנד מה-frontend שלך באמצעות ה-SDK, או דרך HTTP עבור webhooks ואינטגרציות חיצוניות.דרך ה-SDK
השתמש ב-base44.functions.invoke() כדי לקרוא לפונקציות מה-frontend שלך. ה-SDK מטפל באימות אוטומטית, ומעביר את אישורי המשתמש הנוכחי לפונקציה שלך.
דרך HTTP
לכל פונקציה מופצת יש נקודת קצה HTTP בכתובת:- Webhooks: קבל callbacks משירותים חיצוניים כמו Stripe או GitHub.
- אינטגרציות חיצוניות: אפשר למערכות אחרות לתקשר עם האפליקציה שלך.
- בדיקות: קרא לפונקציות ישירות עם כלים כמו cURL או Postman.
בעת קריאה לפונקציות דרך HTTP ישיר (כמו cURL או webhooks), אין הקשר משתמש
מאומת. השתמש ב-
asServiceRole עבור כל הפעולות במקרים אלה.שימוש ב-SDK בפונקציות
בתוך פונקציות הבקאנד שלך, אתה יכול לגשת לנתונים, אימות ואינטגרציות של האפליקציה דרך Base44 SDK. השתמש ב-createClientFromRequest() כדי ליצור client מהבקשה הנכנסת.
הקשר האימות תלוי באופן שבו הפונקציה נקראה:
-
כאשר נקראה דרך ה-SDK מה-frontend שלך: האימות של המשתמש מועבר אוטומטית. אתה יכול לגשת למשתמש הנוכחי עם
base44.auth.me()ולבצע פעולות עם ההרשאות שלו. לפעולות ברמת admin, השתמש ב-asServiceRole. -
כאשר נקראה דרך HTTP ישיר (cURL, webhooks, שירותים חיצוניים): אין משתמש מאומת, אז השתמש ב-
asServiceRoleעבור כל הפעולות.
חיבור ל-APIs של צד שלישי
פונקציות בקאנד הן אחת מכמה דרכים להתחבר ל-APIs של צד שלישי. הן אידיאליות כאשר אתה צריך שליטה מלאה על בקשות או רוצה לאחסן API keys באופן מאובטח כמשתני סביבה. השתמש ב-secrets set להגדרת משתני סביבה מה-CLI.
צפייה בלוגים
במהלך פיתוח מקומי, פלט הפונקציה מודפס ישירות ל-terminal שלך ללא צורך בפקודתlogs.
עבור פונקציות מופצות, צפה בלוגים עם פקודת logs. הלוגים כוללים פלט console, שגיאות ומידע על תזמון. אתה יכול לסנן לפי שם פונקציה או טווח זמן. אם אתה משתמש בסוכן קידוד AI, ה-base44-troubleshooter skill יכול לשלוף ולנתח את הלוגים האלה אוטומטית.
TypeScript types
ייצר TypeScript types מתצורות הפונקציה שלך כדי לקבל בטיחות סוגים ו-autocomplete עבור שמות פונקציות בקוד ה-SDK שלך. למד עוד על dynamic types.ראה גם
- Automations: תזמן פונקציות או הפעל אותן באירועי מסד נתונים
functionsmodule: סימוכין SDK להפעלת פונקציותcreateClientFromRequest: יצירת client בפונקציות בקאנדfunctions deploy: פרוס פונקציות מקומיות ל-Base44functions pull: הורד פונקציות מופצות לפרויקט המקומי שלךfunctions list: רשימת כל הפונקציות המופצותfunctions delete: מחק פונקציות מופצותlogs: צפה בלוגי פונקציותexec: בדוק פונקציות בבידוד מסקריפטים עצמאיים
דף זה תורגם באמצעות בינה מלאכותית. למידע המדויק והעדכני ביותר, עיין בגרסה האנגלית.

