strings.coalesce

Compatible avec :
strings.coalesce(a, b, c, ...)

Description

Cette fonction accepte un nombre illimité d'arguments et renvoie la valeur de la première expression qui n'est pas évaluée comme une chaîne vide (par exemple, "valeur non nulle"). Si tous les arguments renvoient une chaîne vide, l'appel de fonction renvoie une chaîne vide.

Les arguments peuvent être des littéraux, des champs d'événement ou des appels de fonction. Tous les arguments doivent être de type STRING. Si des arguments sont des champs d'événement, les attributs doivent provenir du même événement.

Types de données des paramètres

STRING

Type renvoyé

STRING

Exemples de code

Exemple 1

L'exemple suivant inclut des variables de chaîne en tant qu'arguments. La condition est définie sur "true" lorsque (1) $e.network.email.from est suspicious@gmail.com ou (2) $e.network.email.from est vide et $e.network.email.to est suspicious@gmail.com.

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

L'exemple suivant appelle la fonction coalesce avec plus de deux arguments. Cette condition compare la première adresse IP non nulle de l'événement $e aux valeurs de la liste de référence ip_watchlist. L'ordre dans lequel les arguments sont fusionnés dans cet appel est le même que celui dans lequel ils sont énumérés dans la condition de la règle :

  1. $e.principal.ip est évalué en premier.
  2. $e.src.ip est ensuite évalué.
  3. $e.target.ip est ensuite évalué.
  4. Enfin, la chaîne "No IP" est renvoyée comme valeur par défaut si les champs ip précédents ne sont pas définis.
strings.coalesce($e.principal.ip, $e.src.ip, $e.target.ip, "No IP") in %ip_watchlist
Exemple 3

L'exemple suivant tente de regrouper principal.hostname à partir de l'événement $e1 et de l'événement $e2. Une erreur de compilation sera renvoyée, car les arguments sont des variables d'événement différentes.

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