// 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 }
Lenguaje de expresiones rápido y seguro
Common Expression Language (CEL) es un lenguaje de expresión rápido, portátil y seguro de ejecutarse en aplicaciones esenciales para el rendimiento. CEL está diseñado para incorporarse en una aplicación, con extensiones específicas de cada aplicación, y es ideal para extender las configuraciones declarativas que tus aplicaciones ya podrían usar.
Usa CEL a fin de usar filtros de lista para llamadas a la API, restricciones de validación en búferes de protocolo y reglas de autorización para solicitudes a la API.
Rápida
Portátil
Extensible
Seguro
¿El CEL es adecuado para tu proyecto?
El CEL es ideal para las aplicaciones críticas para el rendimiento, ya que se diseñó con el objetivo de evaluar de forma segura y rápida (de nanosegundos a microsegundos) con costos predecibles. Las expresiones de CEL son especialmente útiles para la lógica de predicado y las transformaciones de datos simples.
El CEL se usa de manera más eficiente en aplicaciones en las que las expresiones se evalúan con frecuencia, pero se modifican con poca frecuencia. Por ejemplo, evaluar una solicitud HTTP con una política de seguridad es un excelente caso de uso para CEL. Una expresión de política de seguridad de CEL tendría un costo de configuración único para validar la expresión y, luego, se evaluaría con mucha frecuencia y a un costo insignificante.
¿Sigues teniendo dudas? Consulta la descripción general de CEL y la definición de lenguaje, o simplemente pregúntanos. Estamos aquí para ayudarte.