Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Überblick
Time Series Expression (TSX) ist eine zeichenfolgenbasierte Ausdruckssprache mit starker Typisierung. TSX wird verwendet, um die folgenden Entitäten in einer Zeitreihenabfrage darzustellen.
- Filter
- Wert
- Aggregierung
Filtern von Ausdrücken
Filterausdrücke werden verwendet, um boolesche Klauseln darzustellen. In der folgenden Tabelle sind Beispiele für Filter aufgeführt:
| TSX (TSX) | BESCHREIBUNG |
|---|---|
$event.PointValue.Double = 3.14 |
true für Ereignisse mit double PointValue gleich 3.14 |
$event.PointValue > 3.14 AND $event.Status.String = 'Good' |
true für Ereignisse mit PointValue größer als 3.14 und String-Status Good |
$event.$ts > dt'2018-11-01T02:03:45Z' |
true für Ereignisse mit einem Zeitstempel größer als 2018-11-01T02:03:45Z |
$event.PointEval.Bool = true |
true für Ereignisse mit PointValue gleich true |
Wert-Ausdrücke
Wertausdrücke werden verwendet, um den Wert für numerische und kategoriale Variablen darzustellen. Bei einem Wertausdruck kann es sich um einen Eigenschaftsreferenzausdruck vom Typ Double oder Long handeln.
Beispiel:
| TSX (TSX) | Hinweise |
|---|---|
$event.Temperature.Double |
Das letzte Token in einem beliebigen Wertausdruck (in diesem Fall Double) wird als Type der Eigenschaft gelesen. |
$event.Temperature |
Es wird davon ausgegangen, dass der Typ für eine Eigenschaft, auf die über ein einzelnes Token zugegriffen wird, Double ist. |
$event['Temperature-Celsius'] |
Verwenden Sie [ und ] zum Escapen von Token, die Sonderzeichen enthalten. Verwenden Sie \ außerdem in den eckigen Klammern die folgenden Zeichen, um sie mit Escapezeichen zu versehen: \ und '. |
$event.Temperature.Celsius.Double |
Verwenden Sie diese Option . , um auf geschachtelte Eigenschaften zuzugreifen. Beim Zugriff auf geschachtelte Eigenschaften ist der Typ erforderlich. |
$event.Temperature['Celsius-C'].Double |
Verwenden Sie [ und ] zum Escapen von Token, die Sonderzeichen enthalten, wenn auf geschachtelte Eigenschaften zugegriffen wird. Verwenden Sie \ außerdem in den eckigen Klammern die folgenden Zeichen, um sie mit Escapezeichen zu versehen: \ und '. Beim Zugriff auf geschachtelte Eigenschaften ist der Typ erforderlich. |
$event['Temperature']['Celsius'].Double |
Die Verwendung von und ] zum Escapen von [ Token ist für jedes Token zulässig. |
Art der numerischen Variablen
Das Ergebnis des Wertausdrucks sollte vom Typ Double oder Long sein.
Art der aggregierten Variablen
Das Ergebnis des Wertausdrucks kann von einem beliebigen unterstützten Typ sein.
Kategoriale Variablenart
Das Ergebnis des Wertausdrucks kann nur vom Typ String oder Long sein.
Aggregationsausdrücke
Aggregatausdrücke werden verwendet, um den Aggregationsvorgang darzustellen, der für die Abfrage verwendet werden soll. Ein Aggregatausdruck führt zu einem einzelnen Wert für jedes Intervall. Aggregatausdrücke können auf numerische und aggregierte Variablen angewendet werden.
Aggregationsausdrücke - Art numerischer Variablen
Numerische Variablen sollten sich auf $valuebeziehen.
Hier sind die unterstützten Aggregatfunktionen.
| Aggregatfunktion | Beispiel | BESCHREIBUNG |
|---|---|---|
min |
min($value) |
Berechnet das Minimum des Pro-Intervalls $value . Vermeidet null Werte. Kann nicht mit Interpolation verwendet werden. |
max |
max($value) |
Berechnet das Maximum pro $value Intervall. Vermeidet null Werte. Kann nicht mit Interpolation verwendet werden. |
sum |
sum($value) |
Berechnet die Summe aller $value Ereignisse in diesem Intervall. Vermeidet null Werte. Kann nicht mit Interpolation verwendet werden. |
avg |
avg($value) |
Berechnet den Durchschnitt aller $value Ereignisse in diesem Intervall. Vermeidet null Werte. Kann nicht mit Interpolation verwendet werden. |
first |
first($value) |
Gibt das erste auftretende Ereignis im Intervall nach Ereigniszeitstempel zurück $value . Vermeidet nullkeine Werte. Kann nicht mit Interpolation verwendet werden. |
last |
last($value) |
Gibt das zuletzt auftretende Ereignis im Intervall nach Ereigniszeitstempel zurück $value . Vermeidet nullkeine Werte. Kann nicht mit Interpolation verwendet werden. |
median |
median($value) |
Gibt das mittlere Ereignis im Intervall nach Ereignis-Zeitstempel zurück $value . Vermeidet nullkeine Werte. Kann nicht mit Interpolation verwendet werden. |
stdev |
stdev($value) |
Gibt die Standardabweichung der Ereignisse im Intervall zurück $value . Vermeidet null Werte. Kann nicht mit Interpolation verwendet werden. |
twsum |
twsum($value) |
Gibt die zeitgewichtete Summe der Ereignisse im Intervall zurück $value . Erfordert Interpolation. |
twavg |
twavg($value) |
Gibt den zeitgewichteten Durchschnitt der Ereignisse im Intervall zurück $value . Erfordert Interpolation. |
left |
left($value) |
Gibt den am $value linken Rand des angegebenen Intervalls zurück. Erfordert Interpolation. |
right |
right($value) |
Gibt den am $value rechten Rand des angegebenen Intervalls zurück. Erfordert Interpolation. |
Aggregationsausdrücke - Art der Aggregatvariablen
Aggregierte Variablen sollten sich auf eine Eigenschaft in der Ereignisnutzlast beziehen.
Hier sind die unterstützten Aggregatfunktionen.
| Aggregatfunktion | Beispiel | BESCHREIBUNG |
|---|---|---|
count |
count() |
Gibt die Anzahl der Ereignisse pro Intervall zurück. |
min |
min($event.Temperature.Double) |
Berechnet das Minimum der Eigenschaft Temperatur pro Intervall. Vermeidet null Werte. |
max |
max($event.Temperature.Long) |
Berechnet das Maximum der Eigenschaft Temperatur pro Intervall. Vermeidet null Werte. |
sum |
sum($event.Temperature.Double) |
Berechnet die Summe der Eigenschaft Temperature über alle Ereignisse im Intervall. Vermeidet null Werte. |
avg |
avg($event.Temperature.Long) |
Berechnet den Durchschnitt der Eigenschaft Temperatur über alle Ereignisse im Intervall. Vermeidet null Werte. |
first |
first($event.Temperature.String) |
Gibt den ersten (nach Ereignis-Zeitstempel) auftretenden Wert der Eigenschaft Temperature aus allen Ereignissen im Intervall zurück. Vermeidet nullkeine Werte. |
last |
last($event.Temperature.String) |
Gibt den zuletzt auftretenden Wert (nach Zeitstempel des Ereignisses) der Eigenschaft Temperature aus allen Ereignissen im Intervall zurück. Vermeidet nullkeine Werte. |
median |
median($event.Temperature.String) |
Gibt den mittleren (nach Ereignis-Zeitstempel) auftretenden Wert der Eigenschaft Temperature aus allen Ereignissen im Intervall zurück. Vermeidet nullkeine Werte. |
stdev |
stdev($event.Temperature.String) |
Berechnet die Standardabweichung der Eigenschaft Temperatur pro Intervall. Vermeidet null Werte. |
Für eine Aggregatvariablenart können diese Funktionen im Aggregatausdruck kombiniert werden. Beispiel: max($event.Temperature.Long) - min($event.Temperature.Long).
Syntax
In diesem Abschnitt werden die wichtigsten Syntaxkonzepte und Abfrageoperatoren beschrieben, die zu Ausdrücken verkettet sind.
Unterstützte Literale
Hinweis
Die folgenden Literale werden verwendet, um Ausdrücke zu bilden. Eine vollständige Liste der Datentypen finden Sie im Artikel Unterstützte Datentypen .
| Primitiver Typ | Literale |
|---|---|
| Bool |
TRUE, FALSE |
| DateTime | dt'2016-10-08T03:22:55.3031599Z' |
| Double |
1.23, 1.0 |
| Lang |
1, 6 |
| String | 'abc' |
| TimeSpan | ts'P1Y2M3DT4M5.67S' |
| NULL | NULL |
Unterstützte Operandentypen
| Vorgang | Unterstützte Typen | Hinweise |
|---|---|---|
| <, >,< =, >= | Double, Long, DateTime, TimeSpan | |
| =, !=, <> | Double, Long, String, Bool, DateTime, TimeSpan, NULL | <> entspricht != |
| +, -, *, / | Double, Long, DateTime, TimeSpan |
Bei Vergleichsausdrücken (<, >,< =, >=, =, !=) können die Operanden NULL sein oder vom gleichen Typ sein. In jedem Prädikatausdruck werden die Typen der Operanden für die linke Seite (LHS) und die rechte Seite (RHS) auf Übereinstimmung überprüft. Fehler treten auf, wenn die Typen von LHS und RHS nicht übereinstimmen oder ein Vorgang für bestimmte Typen nicht zulässig ist.
Hinweis
Der Zeichenfolgentyp lässt im warmen Speicher keine NULL-Werte zu:
- Der Vergleich von String mit NULL und leerer Zeichenfolge ('') verhält sich auf die gleiche Weise:
$event.p1.String = NULList äquivalent zu$event.p1.String = ''. - Die API kann NULL-Werte zurückgeben, auch wenn die ursprünglichen Ereignisse leere Zeichenfolgen enthielten.
In Zukunft wird das gleiche Verhalten bei Cold Store zu beobachten sein.
Nehmen Sie keine Abhängigkeit von NULL-Werten in Zeichenfolgenspalten an, und behandeln Sie sie auf die gleiche Weise wie leere Zeichenfolgen.
- Es wird eine Typprüfung durchgeführt:
- Jeder Eigenschaftstyp wird für ein
NULLLiteral akzeptiert. - Die Arten von LHS und RHS sollten übereinstimmen.
- Jeder Eigenschaftstyp wird für ein
Im Folgenden finden Sie Beispiele für die Eigenschaften p1 und p2 des Typs String, die Eigenschaft p3 des Typs Double und eine geschachtelte Eigenschaft, die als p4.p5 des Typs Double gespeichert ist:
| Filter | Ist gültig? | Hinweise |
|---|---|---|
$event.p1.String = 'abc' |
Ja | |
$event.p1.String = $event.p2.String |
Ja | |
$event.p1.String = NULL |
Ja |
NULL Passt zu jedem Typ auf der linken Seite. |
$event.p3.Double = 'abc' |
Nein | Typkonflikt. |
$event.p3.Double = $event.p1.String |
Nein | Typkonflikt. |
$event.p1 = 'abc' |
Nein | Typkonflikt. |
$event.p1 = 1 |
Nein | Typkonflikt. |
$event.p1 = true |
Nein | Typkonflikt. |
$event.p1 = NULL |
Ja |
p1 ist das einzige verwendete Token. Interpretiert als $event.p1.Double = NULL |
$event['p1'] != NULL |
Ja |
['p1'] ist das einzige verwendete Token. Interpretiert als $event['p1'].Double != NULL |
$event.p4.p5 = 0.0 |
Nein | Ungültige Syntax für den Eigenschaftsverweis. Auf der Vergleichslinken muss ein Typ angegeben werden. |
$event.p4.p5.Double = 0.0 |
Ja |
Unterstützte Skalarfunktionen
Nachfolgend finden Sie eine Liste der Skalarfunktionen nach Kategorien:
Konvertierungsfunktionen
| Funktionsname | Unterschrift | Beispiel | Hinweise |
|---|---|---|---|
toDouble |
Double toDouble (value: String, Double, Long) |
toDouble($event.value.Long) |
Konvertiert die Argumente in Double. |
toLong |
Long toLong (value: String, Double, Long) |
toLong($event.value.Double + 1.0) |
Konvertiert die Argumente in Long. |
toString |
String toString (value: String, Double, Long) |
toString($event.value.Double) |
Konvertiert Argumente in Zeichenfolge. |
Mathematische Funktionen
| Funktionsname | Unterschrift | Beispiel | Hinweise |
|---|---|---|---|
round |
Double round(value:Double) |
round($event.value.Double) |
Rundet eine Gleitzahl mit doppelter Genauigkeit auf das nächste Integral. |
ceiling |
Double ceiling(value:Double) |
ceiling($event.value.Double) |
Gibt den kleinsten ganzzahligen Wert zurück, der größer oder gleich der Gleitkommazahl mit doppelter Genauigkeit ist. |
floor |
Double floor(value:Double) |
floor($event.value.Double) |
Gibt den größten ganzzahligen Wert zurück, der kleiner oder gleich der Gleitkommazahl mit doppelter Genauigkeit ist. |
Trigonometrische Funktionen
| Funktionsname | Unterschrift | Beispiel | Hinweise |
|---|---|---|---|
cos |
Double cos(value:Double) |
cos($event.value.Double) |
Gibt den Kosinus des angegebenen Winkels im Bogenmaß zurück. |
sin |
Double sin(value:Double) |
sin($event.value.Double) |
Gibt den Sinus des angegebenen Winkels im Bogenmaß zurück. |
tan |
Double tan(value:Double) |
tan($event.value.Double) |
Gibt den Tangente des angegebenen Winkels im Bogenmaß zurück. |
acos |
Double acos(value:Double) |
acos($event.value.Double) |
Gibt den Winkel im Bogenmaß zurück, dessen Kosinus die angegebene Zahl ist. |
asin |
Double asin(value:Double) |
asin($event.value.Double) |
Gibt den Winkel im Bogenmaß zurück, dessen Sinus die angegebene Zahl ist. |
atan |
Double atan(value:Double) |
atan($event.value.Double) |
Gibt den Winkel im Bogenmaß zurück, dessen Tangente die angegebene Zahl ist. |
atan2 |
Double atan2(value1:Double, value2:Double) |
atan2($event.value1.Double, $event.value2.Double) |
Gibt den Winkel im Bogenmaß zurück, dessen Tangente der Quotient aus zwei angegebenen Zahlen ist. |
Logarithmische Funktionen
| Funktionsname | Unterschrift | Beispiel | Hinweise |
|---|---|---|---|
log |
Double log(value:Double) |
log($event.value.Double) |
Gibt den natürlichen Logarithmus einer angegebenen Zahl zurück. |
log2 |
Double log2(value:Double) |
log2($event.value.Double) |
Gibt den Logarithmus der Basis 2 einer angegebenen Zahl zurück. |
log10 |
Double log10(value:Double) |
log10($event.value.Double) |
Gibt den Logarithmus der Basis 10 einer angegebenen Zahl zurück. |
DateTime-Funktionen
| Funktionsname | Unterschrift | Beispiel | Hinweise |
|---|---|---|---|
monthOfYear |
Long monthOfYear(value:DateTime) |
monthOfYear($event.$ts) |
Gibt den Monat des Jahres als numerischen Wert für die angegebene DateTime zurück. |
dayOfMonth |
Long dayOfMonth(value:DateTime) |
dayOfMonth($event.$ts) |
Gibt den Tag des Monats als numerischen Wert für die angegebene DateTime zurück. |
hourOfDay |
Long hourOfDay(value:DateTime) |
hourOfDay($event.$ts) |
Gibt die Stunde des Tages als numerische Angabe für das angegebene DateTime zurück. |
utcNow |
DateTime utcNow() |
utcNow() |
Gibt die aktuelle Uhrzeit im UTC-Format zurück. |
Zeichenfolgenfunktionen
| Funktionsname | Unterschrift | Beispiel | Hinweise |
|---|---|---|---|
toUpper |
String toUpper(value:String) |
toUpper($event.value.String) |
Gibt eine Eingabezeichenfolge zurück, die in Großbuchstaben konvertiert wurde. |
toLower |
String toLower(value:String) |
toLower($event.value.String) |
Gibt eine in Kleinbuchstaben konvertierte Eingabezeichenfolge zurück. |
strLen |
Long strLen(value:String) |
strLen($event.value.String) |
Gibt die Anzahl der Zeichen im Zeichenfolgenargument zurück. |
strCat |
Long strCat(value1:String, value2:String) |
strCat($event.value1.String, $event.value2.String) |
Verkettet zwei angegebene Eingabezeichenfolgen. |
subString |
String subString(value:String, startIndex:Double, length:Double) |
subString($event.value.String, 2.0, 4.0) |
Ruft eine Teilzeichenfolge aus dieser Instanz ab. |
trim |
String trim(value:String) |
trim($event.value.String) |
Gibt eine neue Zeichenfolge zurück, indem alle führenden und nachfolgenden Leerzeichen aus der Eingabezeichenfolge entfernt werden. |
indexOf |
Long indexOf(value:String, subString:String) |
indexOf($event.value.String, 'abc') |
Gibt das erste Vorkommen der angegebenen Zeichenfolge innerhalb der ursprünglichen Zeichenfolge zurück, basierend auf der Nullindizierung. |
replace |
String replace(value:String, searchString:String, replaceString:String) |
replace($event.value.String, 'abc', 'xyz') |
Gibt eine Zeichenfolge zurück, bei der alle Vorkommen der Suchzeichenfolge durch die Ersetzungszeichenfolge ersetzt werden. |
Andere Funktionen
| Funktionsname | Unterschrift | Beispiel | Hinweise |
|---|---|---|---|
coalesce |
String, Long, Double, Bool coalesce (value: String, Long, Double, Bool) |
coalesce(toLong($event.value.Double), $event.value.Long) |
Gibt den ersten Wert ungleich NULL in der Argumentliste zurück. Akzeptiert mindestens 2 und maximal 64 Argumente, aber sie müssen alle vom gleichen Datentyp sein. |
iff |
String, Long, Double, Bool iff (predicate: bool, ifTrue: String, Long, Double, Bool, ifFalse: String, Long, Double, Bool) |
iff ($event.value.Double > 100, 'Good', 'Bad') |
Gibt das zweite oder dritte Argument zurück, je nachdem, ob das Prädikat in true aufgelöst wurde (gibt das zweite Argument zurück) oder false (gibt das dritte Argument zurück). Das Prädikat muss ein boolescher Ausdruck sein, und das zweite und dritte Argument müssen vom gleichen Typ sein. |
Siehe auch
Weitere Informationen zur Anwendungsregistrierung und zum Azure Active Directory-Programmiermodell finden Sie unter Azure Active Directory für Entwickler.
Weitere Informationen zu Anforderungs- und Authentifizierungsparametern finden Sie unter Authentifizierung und Autorisierung.
Zu den Tools, die beim Testen von HTTP-Anforderungen und -Antworten hilfreich sind, gehören:
Geiger. Dieser kostenlose Web-Debugging-Proxy kann Ihre REST-Anforderungen abfangen, sodass Sie die HTTP-Anforderungs- und Antwortnachrichten diagnostizieren können.
JWT.io. Sie können dieses Tool verwenden, um die Ansprüche schnell in Ihrem Bearertoken zu speichern und dann ihren Inhalt zu überprüfen.
Postbote. Hierbei handelt es sich um ein kostenloses Tool zum Testen von HTTP-Anfragen und -Antworten zum Debuggen von REST-APIs.
Weitere Informationen zu Azure Time Series Insights Gen2 finden Sie in der Gen2-Dokumentation.