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

Il Common Expression Language (CEL) è un linguaggio di espressione veloce, portabile e sicuro da eseguire nelle applicazioni critiche per le prestazioni. Il CEL è progettato per essere incorporato in un'applicazione, con estensioni specifiche per l'applicazione ed è ideale per estendere le configurazioni dichiarative che le applicazioni potrebbero già utilizzare.

Utilizza il CEL per elementi come i filtri di elenco per le chiamate API, i vincoli di convalida sui buffer di protocollo e le regole di autorizzazione per le richieste API.

Valutazione accelerata delle espressioni in percorsi critici per le prestazioni da nanosecondi a microsecondi.
Facile da usare per gli sviluppatori, leggero con una sintassi comune per più sistemi Google e esterni.
Supporta la creazione di sottoinsiemi ed estensioni, facili da incorporare e personalizzare in base ai requisiti della configurazione e dei criteri.
La funzionalità non è completa e accede solo ai dati forniti dall'applicazione host.

Il CEL è ideale per applicazioni critiche per le prestazioni perché è stato progettato per valutare in modo sicuro e rapido (da nanosecondi a microsecondi) con costi prevedibili. Le espressioni CEL sono particolarmente utili per la logica dei predicati e le trasformazioni di dati semplici.

La tecnologia CEL è utilizzata in modo più efficiente nelle applicazioni in cui le espressioni vengono valutate di frequente, ma modificate raramente. Ad esempio, valutare una richiesta HTTP in base a un criterio di sicurezza è un caso d'uso eccellente per il CEL. Un'espressione del criterio di sicurezza CEL prevede un costo di configurazione una tantum per la convalida dell'espressione e viene valutata molto spesso a un costo trascurabile.

Hai ancora dubbi? Consulta la panoramica CEL e la definizione linguistica oppure chiedici semplicemente. Saremo lieti di aiutarti.

Vuoi aiutare il progetto CEL? Contribuisci al nostro codice open source e alla nostra documentazione. Saremmo lieti di aiutarti.