strings.coalesce

Supportato in:
strings.coalesce(a, b, c, ...)

Descrizione

Questa funzione accetta un numero illimitato di argomenti e restituisce il valore della prima espressione che non restituisce una stringa vuota (ad esempio "valore diverso da zero"). Se tutti gli argomenti restituiscono una stringa vuota, la chiamata di funzione restituisce una stringa vuota.

Gli argomenti possono essere valori letterali, campi evento o chiamate di funzioni. Tutti gli argomenti devono essere di tipo STRING. Se alcuni argomenti sono campi evento, gli attributi devono provenire dallo stesso evento.

Tipi di dati dei parametri

STRING

Tipo restituito

STRING

Esempi di codice

Esempio 1

Il seguente esempio include variabili stringa come argomenti. La condizione restituisce true quando (1) $e.network.email.from è suspicious@gmail.com o (2) $e.network.email.from è vuoto e $e.network.email.to è suspicious@gmail.com.

"suspicious@gmail.com" = strings.coalesce($e.network.email.from, $e.network.email.to)
Esempio 2

Il seguente esempio chiama la funzione coalesce con più di due argomenti. Questa condizione confronta il primo indirizzo IP non nullo dell'evento $e con i valori nell'elenco di riferimento ip_watchlist. L'ordine in cui gli argomenti vengono uniti in questa chiamata è lo stesso in cui vengono enumerati nella condizione della regola:

  1. $e.principal.ip viene valutato per primo.
  2. $e.src.ip viene valutato successivamente.
  3. $e.target.ip viene valutato successivamente.
  4. Infine, la stringa "No IP" viene restituita come valore predefinito se i campi ip precedenti non sono impostati.
strings.coalesce($e.principal.ip, $e.src.ip, $e.target.ip, "No IP") in %ip_watchlist
Esempio 3

L'esempio seguente tenta di unire principal.hostname dall'evento $e1 e dall'evento $e2. Restituirà un errore del compilatore perché gli argomenti sono variabili evento diverse.

// returns a compiler error
"test" = strings.coalesce($e1.principal.hostname, $e2.principal.hostname)