Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Boolesche, Vergleichs-, numerische, Datetime- und andere Funktionen
CloudWatch Logs Insights unterstützt viele andere Operationen und Funktionen in Abfragen, wie in den folgenden Abschnitten erläutert.
Themen
Arithmetische Operatoren
Arithmetische Operationen akzeptieren numerische Datentypen als Argumente und liefern numerische Ergebnisse. Sie können arithmetische Operationen in den Befehlen filter und fields sowie als Argumente für andere Funktionen verwenden.
| Operation | Description |
|---|---|
|
|
Addition |
|
|
Subtraktion |
|
|
Multiplikation |
|
|
Division |
|
|
Potenzierung. |
|
|
Rest oder Modulus. |
Boolesche Operatoren
Sie können die booleschen Operatoren and, or, und not verwenden.
Anmerkung
Verwenden Sie boolesche Operatoren nur in Funktionen, die den Wert vonWAHRoderFALSCHaus.
Vergleichsoperatoren
Vergleichsoperationen akzeptieren alle Datentypen als Argumente und liefern ein boolesches Ergebnis. Sie können Vergleichsoperationen im Befehl filter sowie als Argumente für andere Funktionen verwenden.
| Operator | Description |
|---|---|
|
|
Gleich |
|
|
Ungleich |
|
|
Kleiner als |
|
|
Größer als |
|
|
Kleiner als oder gleich |
|
|
Größer als oder gleich |
Numerische Operatoren
Numerische Operationen akzeptieren numerische Datentypen als Argumente und liefern numerische Ergebnisse. Sie können numerische Operationen in den Befehlen filter und fields sowie als Argumente für andere Funktionen verwenden.
| Operation | Ergebnistyp | Description |
|---|---|---|
|
|
number |
Absoluter Wert |
|
|
number |
Aufrunden (die kleinste ganze Zahl, die größer ist als der Wert von |
|
|
number |
Abrunden (die größte ganze Zahl, die kleiner ist als der Wert von |
|
|
number |
Liefert den größten Wert. |
|
|
number |
Liefert den kleinsten Wert. |
|
|
number |
Natürlicher Logarithmus |
|
|
number |
Rundet den Wert von |
|
|
number |
Quadratwurzel |
|
|
number |
Berechnet die Großkreisentfernung in Kilometern zwischen zwei geographischen Punkten, die durch Breiten- und Längengrad in Grad angegeben sind. |
|
|
number |
Konvertiert einen Zeichenfolgenfeldwert in einen numerischen Wert. |
|
|
number |
Konvertiert einen Feldwert in eine Ganzzahl (32-Bit). |
|
|
number |
Konvertiert einen Feldwert in eine lange Ganzzahl (64 Bit). |
|
|
number |
Konvertiert einen Feldwert in eine Gleitkommazahl mit doppelter Genauigkeit. |
Typen von Strukturen
Eine Karte oder Liste ist ein Strukturtyp in CloudWatch Logs Insights, mit dem Sie auf Attribute zugreifen und diese für Abfragen verwenden können.
Beispiel: Um eine Karte oder Liste abzurufen
Wird verwendetjsonParse, um ein Feld, das eine JSON-Zeichenfolge ist, in eine Map oder Liste zu analysieren.
fields jsonParse(@message) as json_message
Beispiel: Um auf Attribute zuzugreifen
Verwenden Sie den Punkt-Zugriffsoperator (map.attribute), um auf Elemente in einer Karte zuzugreifen.. Wenn ein Attribut in einer Map Sonderzeichen enthält, verwenden Sie Backticks, um den Attributnamen einzuschließen (map.attributes). `special.char`).
fields jsonParse(@message) as json_message | stats count() by json_message.status_code
Verwenden Sie den Klammerzugriffsoperator (list [index]), um ein Element an einer bestimmten Position in der Liste abzurufen.
fields jsonParse(@message) as json_message | filter json_message.users[1].action = "PutData"
Schließen Sie Sonderzeichen in Backticks (``) ein, wenn der Schlüsselname Sonderzeichen enthält.
fields jsonParse(@message) as json_message | filter json_message.`user.id` = "123"
Beispiel: leere Ergebnisse
Karten und Listen werden für Zeichenketten-, Zahlen- und Datetime-Funktionen als Null behandelt.
fields jsonParse(@message) as json_message | display toupper(json_message)
Der Vergleich von Map und List mit anderen Feldern führt zufalse.
Anmerkung
Die Verwendung von Map und List in deduppattern,sort, und wird stats nicht unterstützt.
Datum-/Uhrzeit-Funktionen
Datum-/Uhrzeit-Funktionen
Sie können die Datums-/Uhrzeit-Funktionen in den Befehlen fields und filter sowie als Argumente für andere Funktionen verwenden. Mit diesen Funktionen können Sie Zeiträume für Abfragen mit Aggregationsfunktionen anlegen. Verwenden Sie Zeiträume, die aus einer Zahl und einer der folgenden Zahlen bestehen:
-
msfür Millisekunden -
sfür Sekunden -
mfür Minuten -
hfür Stunden
Zum Beispiel steht 10m für 10 Minuten und 1h ist 1 Stunde.
Anmerkung
Verwenden Sie die am besten geeignete Zeiteinheit für Ihre Datetime-Funktion. CloudWatch Logs begrenzt Ihre Anfrage entsprechend der von Ihnen ausgewählten Zeiteinheit. Beispielsweise wird 60 als Maximalwert für jede Anfrage, die verwendet wird, begrenzts. Wenn Sie also angebenbin(300s), implementiert CloudWatch Logs dies tatsächlich als 60 Sekunden, da 60 die Anzahl der Sekunden in einer Minute ist. CloudWatch Logs verwendet also keine höhere Zahl als 60 mits. Um einen 5-Minuten-Bucket zu erstellen, verwenden Sie bin(5m) stattdessen.
Die Obergrenze für ms ist 1000, die Obergrenzen für s und m sind 60 und die Obergrenze für h ist 24.
Die folgende Tabelle enthält eine Liste der verschiedenen Datetime-Funktionen, die Sie in Ihren Abfragebefehlen verwenden können. Die Tabelle listet den Ergebnistyp jeder Funktion auf und enthält zu jeder Funktion eine Beschreibung.
Tipp
Wenn Sie einen Abfragebefehl erstellen, können Sie mit der Zeitintervallauswahl einen Zeitraum für Ihre Abfrage festlegen. Sie können beispielsweise Intervalle von 5 bis 30 Minuten, Intervalle von 1, 3 und 12 Stunden oder einen benutzerdefinierten Zeitrahmen festlegen. Sie können auch Zeiträume zwischen bestimmten Daten festlegen.
| Funktion | Ergebnistyp | Description |
|---|---|---|
|
|
Zeitstempel |
Rundet den Wert von So können mehrere Protokolleinträge in einer Abfrage gruppiert werden. Im folgenden Beispiel wird die Anzahl von Ausnahmen pro Stunde zurückgegeben:
Für die Funktion
|
|
|
Zeitstempel |
Kürzt den Zeitstempel auf den angegebenen Zeitraum. Zum Beispiel kürzt |
|
|
Zeitstempel |
Rundet den Zeitstempel auf den angegebenen Zeitraum auf und kürzt ihn dann. Zum Beispiel kürzt |
|
|
Zeitstempel |
Interpretiert das Eingabefeld als die Anzahl der Millisekunden seit der Unix-Epoche und konvertiert es in einen Zeitstempel. |
|
|
number |
Konvertiert den im benannten Feld gefundenen Zeitstempel in eine Zahl, die die Millisekunden seit der Unix-Epoche darstellt. Beispiel: |
|
|
number |
Gibt den Zeitpunkt zurück, zu dem die Abfrageverarbeitung gestartet wurde, in Epochensekunden. Diese Funktion benötigt keine Argumente. Sie können dies verwenden, um Ihre Abfrageergebnisse nach der aktuellen Uhrzeit zu filtern. Die folgende Abfrage gibt beispielsweise alle 4xx-Fehler der letzten zwei Stunden zurück:
Das folgende Beispiel gibt alle Logeinträge der letzten fünf Stunden zurück, die entweder das Wort
|
|
|
number |
Analysiert eine Datumszeichenfolge mithilfe eines Java-Musters in Millisekunden. DateTimeFormatter Das optionale Beispiel: |
|
|
Zeichenfolge |
Formatiert einen Zeitstempel mithilfe einer Formatzeichenfolge im strftime-Stil. Auch als Alias verfügbar. Beispiel: |
Anmerkung
CloudWatch Logs Insights unterstützt derzeit nicht das Filtern von Protokollen mit menschenlesbaren Zeitstempeln.
Allgemeine Funktionen
Allgemeine Funktionen
Sie können allgemeine Funktionen in den Befehlen fields und filter sowie als Argumente für andere Funktionen verwenden.
| Funktion | Ergebnistyp | Description |
|---|---|---|
|
|
Boolesch |
Gibt |
|
|
LogField |
Liefert den ersten Nicht-Null-Wert aus der Liste. |
|
|
LogField |
Wertet die Bedingungen der Reihe nach aus und gibt den Wert für die erste wahre Bedingung zurück. Wenn keine Bedingung erfüllt ist und eine Standardeinstellung angegeben ist, wird die Standardeinstellung zurückgegeben. Unterstützt bis zu 10 Zweige. |
|
|
LogField |
Wertet eine Bedingung aus und gibt zurück, |
|
|
Boolesch |
Gibt zurück Beispiel: |
|
|
number |
Gibt die Bytelänge eines Zeichenkettenfeldes zurück. Beispiel: |
|
|
number |
Gibt die Startzeit des Abfragefensters als Epochen-Millisekunden zurück. |
|
|
number |
Gibt die Endzeit des Abfragefensters als Epochen-Millisekunden zurück. |
|
|
number |
Gibt die Dauer des Abfragefensters in Millisekunden zurück. |
JSON-Funktionen
JSON-Funktionen
Verwenden Sie JSON-Funktionen in den filter Befehlen fields und als Argumente für andere Funktionen.
| Funktion | Ergebnistyp | Description |
|---|---|---|
|
|
Karte | Liste | Leer |
Gibt eine Map oder Liste zurück, wenn die Eingabe eine Zeichenfolgendarstellung eines JSON-Objekts oder eines JSON-Arrays ist. Gibt einen leeren Wert zurück, wenn die Eingabe nicht zur Repräsentation gehört. |
|
|
Zeichenfolge |
Gibt eine JSON-Zeichenfolge aus Karten- oder Listendaten zurück. |
|
|
number |
Gibt die Elementanzahl eines JSON-Array-Zeichenfolgenfeldes zurück. Beispiel: |
|
|
Boolesch |
Gibt Beispiel: |
IP-Adressenzeichenfolgen
IP-Adressenzeichenfolgen
Sie können IP-Adressen-Zeichenfolgenfunktionen in den Befehlen filter und fields sowie als Argumente für andere Funktionen verwenden.
| Funktion | Ergebnistyp | Description |
|---|---|---|
|
|
boolesch |
Gibt |
|
|
boolesch |
Gibt |
|
|
boolesch |
Gibt |
|
|
boolesch |
Gibt |
|
|
boolesch |
Gibt |
|
|
boolesch |
Gibt |
|
|
number |
Konvertiert eine IPv4-Adresszeichenfolge in ihre numerische Darstellung. |
|
|
boolesch |
Gibt zurück |
|
|
boolesch |
Gibt zurück |
|
|
boolesch |
Gibt zurück |
Zeichenfolgenfunktionen
Zeichenfolgenfunktionen
Sie können Zeichenfolgenfunktionen in den Befehlen fields und filter sowie als Argumente für andere Funktionen verwenden.
| Funktion | Ergebnistyp | Description |
|---|---|---|
|
|
Zahl |
Gibt |
|
|
Zahl |
Gibt |
|
|
Zeichenfolge |
Verkettet die Zeichenketten. |
|
|
Zeichenfolge |
Wenn die Funktion kein zweites Argument hat, entfernt sie die Whitespaces von der linken Seite der Zeichenfolge. Wenn die Funktion ein zweites Zeichenfolgen-Argument hat, entfernt sie keine Whitespaces. Stattdessen entfernt sie die Zeichen in |
|
|
Zeichenfolge |
Wenn die Funktion kein zweites Argument hat, entfernt sie die Whitespaces von der rechten Seite der Zeichenfolge. Wenn die Funktion ein zweites Zeichenfolgen-Argument hat, entfernt sie keine Whitespaces. Stattdessen entfernt sie die Zeichen von |
|
|
Zeichenfolge |
Wenn die Funktion kein zweites Argument hat, entfernt sie die Whitespaces von beiden Seiten der Zeichenfolge. Wenn die Funktion ein zweites Zeichenfolgen-Argument hat, entfernt sie keine Whitespaces. Stattdessen entfernt sie die Zeichen aus |
|
|
number |
Liefert die Länge der Zeichenkette in Unicode-Codepunkten. |
|
|
Zeichenfolge |
Konvertiert die Zeichenkette in Großbuchstaben. |
|
|
Zeichenfolge |
Konvertiert die Zeichenkette in Kleinbuchstaben. |
|
|
Zeichenfolge |
Gibt eine Teilzeichenkette aus dem durch das Zahlenargument angegebenen Index bis zum Ende der Zeichenkette zurück. Wenn die Funktion ein zweites Zahlenargument hat, enthält sie die Länge der abzurufenden Teilzeichenkette. Beispielsweise gibt |
|
|
Zeichenfolge |
Ersetzt alle Instances von Beispiel: Die Funktion |
|
|
Zeichenfolge |
Ersetzt alle Teilzeichenfolgen, die dem regulären Ausdruck |
|
|
number |
Gibt 1 zurück, wenn |
|
|
number |
Gibt 1 zurück, wenn mit |
|
|
number |
Gibt 1 zurück, wenn mit |
|
|
Zeichenfolge |
URL-encodes die Zeichenfolge. |
|
|
Zeichenfolge |
URL-decodes die Zeichenfolge. |
|
|
Zeichenfolge |
Base64-encodes die Zeichenfolge. |
|
|
Zeichenfolge |
Base64-decodes die Zeichenfolge. |
|
|
Array |
Teilt eine Zeichenfolge durch das angegebene Trennzeichen und gibt ein Array von Teilzeichenfolgen zurück. |
|
|
Zeichenfolge |
Konvertiert eine hexadezimale Zeichenfolge in ASCII-Text. Beispiel: |
|
|
number |
Konvertiert eine hexadezimale Zeichenfolge in eine Dezimalzahl. Beispiel: |
|
|
Zeichenfolge |
Konvertiert eine dezimale Ganzzahl in eine hexadezimale Zeichenfolge in Kleinbuchstaben mit Präfix. Beispiel: |