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

Le langage CEL (Common Expression Language) est un langage d'expression rapide, portable et sûr à exécuter dans les applications critiques. Le CEL est conçu pour être intégré dans une application, avec des extensions spécifiques à l'application. Il est idéal pour étendre les configurations déclaratives que vos applications peuvent déjà utiliser.

Utilisez le langage CEL pour effectuer des opérations telles que les filtres de liste pour les appels d'API, les contraintes de validation des tampons de protocole et les règles d'autorisation pour les requêtes API.

Évaluation accélérée des expressions dans les chemins critiques de performances, de la nanoseconde aux microsecondes.
Légère et conviviale, la syntaxe utilisée est la même dans de nombreux systèmes Google et externes.
Prise en charge des sous-paramètres et des extensions, facile à intégrer et adapté aux exigences de configuration et de règles.
Pas-Turing terminé et accès uniquement aux données fournies par l'application hôte.

Le langage CEL est idéal pour les applications critiques, car il a été conçu pour évaluer rapidement et de manière sécurisée (de l'ordre de la nanoseconde à la microseconde) avec des coûts prévisibles. Les expressions CEL sont particulièrement utiles pour la logique de prédicat et les transformations de données simples.

Le langage CEL est particulièrement efficace dans les applications où les expressions sont évaluées fréquemment, mais rarement modifiées. Par exemple, évaluer une requête HTTP par rapport à une stratégie de sécurité est un excellent cas d'utilisation de CEL. Une expression de stratégie de sécurité CEL aurait un coût de configuration unique pour la validation de l'expression, puis serait évaluée très fréquemment pour un coût négligeable.

Vous ne savez toujours pas ? Consultez la présentation du langage CEL et la définition du langage, ou posez-nous simplement votre question ! Nous serons ravis de vous aider.

Vous souhaitez contribuer au projet CEL ? Contribuez à notre code et à notre documentation Open Source. Nous avons besoin de votre aide.