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

A Common Expression Language (CEL) é uma linguagem de expressão rápida, portátil e segura para ser executada em aplicativos essenciais para o desempenho. A CEL foi desenvolvida para ser incorporada a um aplicativo com extensões específicas de aplicativo e é ideal para estender configurações declarativas que seus aplicativos já podem usar.

Use a CEL para coisas como filtros de lista para chamadas de API, restrições de validação em buffers de protocolo e regras de autorização para solicitações de API.

Avaliação acelerada da expressão em caminhos críticos de desempenho de nanossegundos a microssegundos.
É fácil de usar e fácil de desenvolver, com sintaxe comum em vários sistemas externos e do Google.
Oferece suporte à criação de subconjuntos e extensões, fáceis de incorporar e adaptar de acordo com os requisitos de configuração e política.
Não-turismo completo e acessa apenas os dados fornecidos pelo aplicativo host.

A CEL é ideal para aplicativos essenciais de desempenho porque foi projetada para avaliar com segurança e rapidez (nanossegundos a microssegundos) com custos previsíveis. As expressões CEL são especialmente úteis para lógica de predicado e transformações de dados simples.

A CEL é usada com mais eficiência em aplicativos em que as expressões são avaliadas com frequência, mas modificadas com pouca frequência. Por exemplo, avaliar uma solicitação HTTP em relação a uma política de segurança é um excelente caso de uso para CEL. A expressão da política de segurança CEL teria um custo de configuração único para validar a expressão e, em seguida, seria avaliada com muita frequência a um custo insignificante.

Ainda não tem certeza? Confira a visão geral do CEL e a definição da linguagem ou simplesmente nos pergunte. Ficamos felizes em ajudar.

Quer ajudar o projeto CEL? Contribua com nosso código-fonte aberto e nossa documentação. Adoraríamos sua ajuda.