// 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 }

Ngôn ngữ biểu thức chung (CEL) là một ngôn ngữ biểu thức có tốc độ nhanh, linh hoạt và an toàn để thực thi trong các ứng dụng quan trọng về hiệu suất. CEL được thiết kế để nhúng vào ứng dụng, với các tiện ích dành riêng cho ứng dụng. Đây là CEL lý tưởng để mở rộng cấu hình khai báo mà ứng dụng của bạn có thể đã sử dụng.

Sử dụng CEL cho những việc như bộ lọc danh sách cho lệnh gọi API, quy tắc ràng buộc xác thực trên vùng đệm giao thức và quy tắc uỷ quyền cho các yêu cầu API.

Đánh giá biểu thức nhanh trong các đường dẫn quan trọng về hiệu suất từ nano giây đến micrô giây.
Dễ sử dụng, thân thiện với nhà phát triển với cú pháp phổ biến trên nhiều hệ thống của Google và các hệ thống bên ngoài.
Hỗ trợ các chế độ cài đặt phụ và tiện ích, dễ dàng nhúng và điều chỉnh theo các yêu cầu về cấu hình và chính sách.
Chưa hoàn tất lưu trữ và chỉ truy cập vào dữ liệu do ứng dụng máy chủ cung cấp.

CEL là giải pháp lý tưởng cho các ứng dụng quan trọng về hiệu suất vì được thiết kế để đánh giá một cách an toàn và nhanh chóng (từ nano giây đến micrô giây) với chi phí có thể dự đoán. Biểu thức CEL đặc biệt hữu ích cho logic vị từ và phép biến đổi dữ liệu đơn giản.

CEL được sử dụng hiệu quả nhất trong các ứng dụng mà biểu thức được đánh giá thường xuyên nhưng không được sửa đổi thường xuyên. Ví dụ: việc đánh giá yêu cầu HTTP dựa trên chính sách bảo mật là một trường hợp sử dụng rất phù hợp cho CEL. Một biểu thức chính sách bảo mật CEL sẽ có chi phí định cấu hình một lần để xác thực biểu thức, sau đó được đánh giá rất thường xuyên với chi phí không đáng kể.

Bạn vẫn không chắc chắn? Hãy xem phần tổng quan về CEL và định nghĩa ngôn ngữ hoặc chỉ cần hỏi chúng tôi! Chúng tôi rất sẵn lòng trợ giúp.

Bạn muốn hỗ trợ dự án CEL? Hãy đóng góp cho mã nguồn mở và tài liệu của chúng tôi. Chúng tôi rất mong bạn trợ giúp!