// Simple predicates
'tacocat'.startsWith('taco')

// Parameterized predicates over structured data
account.balance >= transaction.withdrawal

// JSON objects
{'sub': '12345678',
 'aud': 'example2.cel.dev',
 'iss': 'https://example1.cel.dev/jwt-issuer'}

// Strongly typed objects
common.GeoPoint{ latitude: 10.0, longitude: -5.5 }

Common Expression Language (CEL) היא שפת ביטוי מהירה, ניידת ובטוחה להפעלה באפליקציות שחיוניות לביצועים. תוכנית CEL תוכננה להטמיע באפליקציה, עם תוספים ספציפיים לאפליקציות, והיא אידיאלית להרחבת תצורות מוצהרות שהאפליקציות שלכם כבר עשויות להשתמש בהן.

משתמשים ב-CEL לפעולות כמו מסנני רשימות לקריאות ל-API, אילוצי אימות לגבי מאגרי נתונים לפרוטוקולים וכללי הרשאה לבקשות API.

הערכה מואצת של ביטויים בנתיבים שחיוניים לביצועים, מננו-שניות ועד מיקרו-שניות.
קל משקל למפתחים, עם תחביר נפוץ במספר מערכות של Google ומערכות חיצוניות.
תומכת בהקצאת משנה ובתוספים, קל להטמיע ולהתאים אותה לדרישות של הגדרות ומדיניות.
ללא הסיורים הושלם, וניגשת רק לנתונים שסופקו על ידי האפליקציה המארחת.

CEL היא אידיאלית לאפליקציות שחיוניות לביצועים, כי היא תוכננה להעריך בצורה בטוחה ומהירה (ננו-שניות עד מיליוניות שנייה) עם עלויות צפויות. ביטויי CEL שימושיים במיוחד ללוגיקה פרדיקטיבית ולטרנספורמציות פשוטות של נתונים.

השימוש ב-CEL יעיל ביותר באפליקציות שבהן ביטויים מוערכים לעיתים קרובות, אבל משנים אותם לעיתים רחוקות. לדוגמה, הערכה של בקשת HTTP מול מדיניות אבטחה היא תרחיש מצוין לדוגמה ל-CEL. ביטוי מדיניות אבטחה של CEL כרוך בעלות חד-פעמית לאימות הביטוי, ולאחר מכן תתבצע הערכה שלו בתדירות גבוהה בעלות זניחה.

עדיין לא בטוחים? תוכלו לעיין בסקירה הכללית של CEL ובהגדרת השפה, או פשוט לשאול אותנו! אנחנו שמחים לעזור.

רוצה לעזור בפרויקט CEL? תרומה של קוד הקוד הפתוח ומסמכי התיעוד שלנו. נשמח לקבל ממך עזרה.