Ausdrucks-Editor verwenden

Unterstützt in:

Mit dem Ausdrucksgenerator können Sie JSON-Ergebnisse parsen und ändern, um sie in nachfolgenden Aktionen zu verwenden. Mit dem Expression Builder werden verschiedene dynamische Transformationsfunktionen generiert, die Sie verketten, in der Vorschau ansehen und testen können. So können Sie Rohdaten aus Aktionen 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 Ablauf verwenden können. Weitere Informationen finden Sie unter Anwendungsfälle für den Ausdrucks-Generator.

Ausdrucks-Generator aufrufen

In diesem Beispiel werden potenzielle Daten veranschaulicht. Es handelt sich nicht um Echtzeitergebnisse. 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.)
  • Last (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 Höchstwert 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: Der Operator, der für die Bedingung verwendet werden soll.
      • Für die String-Eingabe: =, !=, in, not in.
      • Für die Eingabe von Zahlen/Datumsangaben: =, !=, >, >=, < , <=.
  • Wert: 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 ein Datum in einem bestimmten Muster (Muster wird als Parameter angegeben) im folgenden Format: YYYY-MM-DDThh:mm:ssZ.
    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.)
  • 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. Führt für Arrays von Objekten einen detaillierten Vergleich durch, um doppelte Objekte zu identifizieren.
    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. Vorangehende und nachstehende Leerzeichen werden immer entfernt, auch wenn sie nicht explizit angegeben sind.
    Beispiel: "--TEST--ABC--" | trimChars("-") (gibt „TEST--ABC“ zurück)
  • substring (start, end): Extrahiert einen Teilstring aus einem String mit einem angegebenen Startindex und einem optionalen Endindex.
    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 angegebenen Betrag. Wenn kein Betrag angegeben ist, wird der Wert um 1 erhöht.
    Beispiel: score_field | incrementValue(5) (Wenn score_field gleich 90 ist, wird 95 zurückgegeben.)
    Beispiel: counter_field | incrementValue() (Wenn counter_field gleich 10 ist, 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 „N/A“ zurückgegeben. Andernfalls wird der Wert von optional_field zurückgegeben.)
  • toUnixtime (): Wandelt einen für Menschen lesbaren Datums- und Zeitstring (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