Logik mit dem Ausdruckseditor erstellen

Unterstützt in:

Mit dem Ausdrucksgenerator können Sie JSON-Ergebnisse parsen und ändern, um sie in nachfolgenden Aktionen zu verwenden. Der Expression Builder generiert verschiedene dynamische Transformationsfunktionen, die Sie verketten, in der Vorschau ansehen und testen können. So können Sie Rohaktionsergebnisse interaktiv transformieren und parsen.

Nachdem Sie einen Platzhalter für den Parameter in der Playbook-Aktion ausgewählt haben, können Sie die JSON-Ergebnisse verwenden. Diese Ergebnisse enthalten umfassende Informationen, die von der Aktion zurückgegeben werden und die Sie in nachfolgenden Playbook-Aktionen und im Flow verwenden können. Weitere Informationen finden Sie unter Anwendungsfälle für den Ausdrucks-Generator.

Ausdrucks-Builder aufrufen

Dieses Beispiel zeigt potenzielle Daten und spiegelt keine Echtzeitergebnisse wider. Die tatsächlichen Daten können abweichen und mehr oder weniger Felder enthalten. Wenn ein Analyst zusätzliche Felder kennt, die zur Laufzeit zurückgegeben werden, kann er den entsprechenden Schlüsselpfad in das Feld Syntax eingeben.

Funktionen

Die folgenden Pipe-Funktionen werden unterstützt:

  • First (x): Gibt die ersten X Elemente eines Arrays zurück.
    Beispiel: alerts | First(2) (Wenn alerts gleich [{"id": "A"}, {"id": "B"}, {"id": "C"}] ist, wird [{"id": "A"}, {"id": "B"}] zurückgegeben.)
  • Letzte (x): Gibt die letzten X Elemente eines Arrays zurück.
    Beispiel: alerts | Last(1) (Wenn alerts gleich [{"id": "A"}, {"id": "B"}, {"id": "C"}] ist, wird [{"id": "C"}] zurückgegeben.)
  • Min (KeyPath): Gibt das Element mit dem Mindestwert aus einem Array zurück. Wenn ein „keyPath“-Parameter angegeben wird, wird das Objekt mit dem Mindestwert am angegebenen Pfad zurückgegeben.
    Beispiel: alerts | Min("score") (Wenn alerts eine Liste von Objekten mit dem Feld score enthält, wird das Objekt mit dem niedrigsten Wert zurückgegeben.)
  • Max (KeyPath): Gibt das Element mit dem Maximalwert aus einem Array zurück. Wenn ein „keyPath“-Parameter angegeben wird, wird das Objekt mit dem maximalen Wert am angegebenen Pfad zurückgegeben.
    Beispiel: alerts | Max("score") (Wenn alerts eine Liste von Objekten mit dem Feld score enthält, wird das Objekt mit der höchsten Punktzahl zurückgegeben.)
  • Filter (ConditionKey, Operator, Value): Filtert ein Array von Objekten und gibt nur die Objekte zurück, die einer Bedingung für ein angegebenes Feld entsprechen.
    • ConditionKey: Das Feld in jedem Objekt, das anhand der Bedingung ausgewertet werden soll.
    • Operator: Operator, der für die Bedingung verwendet werden soll.
      • Für die Eingabe von Strings: =, !=, in, not in.
      • Für die Eingabe von Zahlen/Datumsangaben: =, !=, >, >=, < , <=.
  • Wert: Der Wert, der in der Bedingung geprüft werden soll.
    Beispiel: alerts | Filter("severity", "=", "HIGH") (Gibt alle Benachrichtigungen zurück, bei denen das Feld severity den Wert „HIGH“ hat.)
  • dateFormat ("pattern"): Formatiert einen Datumsstring. Verwenden Sie den Parameter „pattern“, um das Format Ihres Eingabedatumstrings zu beschreiben. Die Funktion standardisiert das Datum im folgenden Format: YYYY-MM-DD hh:mm:ss.
    Beispiel: timestamp_field | dateFormat("yyyy/MM/ddTHH:mm:ss") (Wenn timestamp_field „2024/07/20T10:00:00Z“ ist, wird „2024-07-20 10:00:00“ zurückgegeben)

    Unterstützte Mustertokens:

    • Jahr:yyyy (4 Ziffern), yy (2 Ziffern), y (1 oder 2 Ziffern).
    • Monat:MM (01–12), M (1–12), MMMM (vollständiger Name), MMM (abgekürzt).
    • Tag:dd (01–31), d (1–31), dddd (vollständiger Name des Tages), ddd (abgekürzt).
    • Stunde:HH (24-Stunden-Format, 00–23), H (24-Stunden-Format, 0–23), hh (12-Stunden-Format, 01–12), h (12-Stunden-Format, 1–12).
    • Minute:mm (00–59), m (0–59).
    • Sekunde:ss (00–59), s (0–59).
    • Sekundenbruchteile:fff oder FFF.
    • Zeitzone:zzz (z. B. -08:00), zz, z.
    • AM/PM:tt (AM/PM), t (A/P).
  • Count (): Gibt die Anzahl der Elemente im Eingabearray zurück.
    Beispiel: alerts | Count() (Wenn alerts ein Array mit 4 Elementen ist, wird 4 zurückgegeben)
  • OrderBy ("keyPath", "direction"): Sortiert ein Array von Objekten basierend auf den Werten eines angegebenen Schlüsselpfads.
    Beispiel: alerts | OrderBy("score", "DESC") (Sortiert das alerts-Array nach score in absteigender Reihenfolge)
  • toLower (): Wandelt eine Eingabe in Kleinbuchstaben um.
    Beispiel: status_field | toLower() (Wenn status_field „OPEN“ ist, wird „open“ zurückgegeben)
  • toUpper (): Wandelt eine Eingabe in Großbuchstaben um.
    Beispiel: severity_field | toUpper() (Wenn severity_field „high“ ist, wird „HIGH“ zurückgegeben.)
  • Replace ("x", "y"): Ersetzt einen Teilstring innerhalb eines Strings durch einen anderen String.
    Beispiel: message_field | Replace("World", "Universe") (Wenn message_field „Hello World“ ist, wird „Hello Universe“ zurückgegeben.)
  • Distinct (): Entfernt doppelte Werte aus einem Array. Bei Arrays von Objekten wird ein detaillierter Vergleich durchgeführt, um doppelte Objekte zu ermitteln.
    Beispiel: [10, 20, 30, 20, 40] | Distinct() (gibt [10, 20, 30, 40] zurück)
  • getByIndex ("index"): Ruft Elemente eines Arrays anhand eines angegebenen Index oder einer Liste von Indexen ab.
    Beispiel: alerts | getByIndex("0") (gibt das erste Element des Arrays alerts zurück)
    Beispiel: alerts | getByIndex("0,2") (gibt das erste und dritte Element des Arrays alerts zurück)
  • split ("Trennzeichen"): Teilt einen String anhand eines angegebenen Trennzeichens in ein Array von Teilstrings auf.
    Beispiel: "tag1,tag2,tag3" | split(",") (gibt ["tag1", "tag2", "tag3"] zurück)
  • join ("delimiter"): Verkettet ein Array von Strings zu einem einzelnen String, wobei ein angegebenes Trennzeichen verwendet wird.
    Beispiel: ["malware", "critical"] | join(" & ") (gibt „malware & critical“ zurück)
  • trim (): Entfernt voran- und nachgestellte Leerzeichen aus einem String.
    Beispiel: " hello world " | trim() (gibt „hello world“ zurück)
  • trimChars ("characters"): Entfernt die angegebenen Zeichen vom Anfang und Ende eines Strings. Voran- und nachgestellte Leerzeichen werden immer entfernt, auch wenn dies nicht explizit angegeben ist.
    Beispiel: "--TEST--ABC--" | trimChars("-") (gibt „TEST--ABC“ zurück)
  • substring (start, end): Extrahiert einen Teilstring aus einem String. Dazu wird ein angegebener Startindex und ein optionaler Endindex verwendet.
    Beispiel: "Hello World" | substring(0, 5) (gibt „Hello“ zurück)
    Beispiel: "Hello World" | substring(6) (gibt „World“ zurück)
  • incrementValue (value): Erhöht einen numerischen Wert um einen bestimmten Betrag. Wenn kein Betrag angegeben ist, wird der Wert um 1 erhöht.
    Beispiel: score_field | incrementValue(5) (Wenn score_field = 90, wird 95 zurückgegeben)
    Beispiel: counter_field | incrementValue() (Wenn counter_field = 10, wird 11 zurückgegeben)
  • setIfEmpty ("defaultValue"): Gibt den angegebenen Standardwert zurück, wenn der Eingabewert leer ist.
    Beispiel: optional_field | setIfEmpty("N/A") (Wenn optional_field leer ist, wird „–“ zurückgegeben. Andernfalls wird der Wert von optional_field zurückgegeben.)
  • toUnixtime (): Wandelt einen menschenlesbaren Datums- und Uhrzeitstring (z.B. „2014/03/12T13:37:27Z“ oder „2014-03-12T13:37:27+01:00“) in einen Unix-Zeitstempel in UTC um.
    Beispiel: "2024-07-20T10:00:00Z" | toUnixtime() (gibt 1721469600 zurück)
  • ifThenElse ("operator", "comparedValue", "trueResult", "falseResult"): Wertet eine Bedingung aus und gibt den ersten Ausdruck zurück, wenn die Bedingung wahr ist, andernfalls den zweiten Ausdruck.
    Beispiel: severity_field | ifThenElse("=", "HIGH", "High Priority", "Normal Priority") (Wenn severity_field „HIGH“ ist, wird „High Priority“ zurückgegeben, andernfalls „Normal Priority“.)
    Beispiel: score_field | ifThenElse(">", "70", "Above Threshold", "Below Threshold") (Wenn score_field 90 ist, wird „Above Threshold“ zurückgegeben, wenn score_field 60 ist, wird „Below Threshold“ zurückgegeben.)

Ausdruck

Im Feld „Ausdruck“ fügen Sie die JSON-Ergebnisse zusammen mit den Funktionen und Pipes ein, um mehrere Funktionen zu kombinieren und den Ausdruck zu erstellen.

Ausführung / Ergebnisse

Klicken Sie nach dem Ausfüllen des Ausdrucks-Generators auf Ausführen, um die Ergebnisse auf Grundlage der im Ausdrucks-Generator angezeigten JSON-Beispieldaten zu sehen.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten