syntaxis voor tijdreeksexpressies Azure Time Series Insights Gen2
Overzicht
Time Series Expression (TSX) is een expressietaal op basis van tekenreeksen met veel typen. TSX wordt gebruikt om de volgende entiteiten in een Time Series-query weer te geven.
- Filter
- Waarde
- Aggregatie
Filterexpressies
Filterexpressies worden gebruikt om booleaanse componenten weer te geven. De volgende tabel bevat voorbeelden van filters:
TSX | Beschrijving |
---|---|
$event.PointValue.Double = 3.14 |
true voor gebeurtenissen met dubbele puntwaarde gelijk aan 3.14 |
$event.PointValue > 3.14 AND $event.Status.String = 'Good' |
true voor gebeurtenissen met de status PointValue groter dan 3.14 en tekenreeks Good |
$event.$ts > dt'2018-11-01T02:03:45Z' |
true voor gebeurtenissen met een tijdstempel groter dan 2018-11-01T02:03:45Z |
$event.PointEval.Bool = true |
true voor gebeurtenissen met puntwaarde gelijk aan true |
Waarde-expressies
Waarde-expressies worden gebruikt om de waarde voor numerieke en categorische variabelen weer te geven. Een waarde-expressie kan een eigenschapsverwijzingsexpressie van het type Double of Long zijn.
Bijvoorbeeld:
TSX | Notities |
---|---|
$event.Temperature.Double |
Het laatste token in een waarde-expressie (in dit geval Double ) wordt gelezen als het type van de eigenschap. |
$event.Temperature |
Het type wordt verondersteld dubbel te zijn voor een eigenschap die wordt geopend door één token. |
$event['Temperature-Celsius'] |
Gebruik [ en ] voor escapetokens met speciale tekens. Gebruik bovendien \ tussen de haken om de volgende tekens te laten ontsnappen: \ en ' . |
$event.Temperature.Celsius.Double |
Gebruik . voor toegang tot geneste eigenschappen. Bij het openen van geneste eigenschappen is het type vereist. |
$event.Temperature['Celsius-C'].Double |
Gebruik [ en ] voor escapetokens met speciale tekens bij het openen van geneste eigenschappen. Gebruik bovendien \ tussen de haken om de volgende tekens te laten ontsnappen: \ en ' . Bij het openen van geneste eigenschappen is het type vereist. |
$event['Temperature']['Celsius'].Double |
Het gebruik van [ en ] voor escapetokens is toegestaan voor elk token. |
Soort numerieke variabele
Het resultaat van de waarde-expressie moet van het type Double of Long zijn.
Soort statistische variabele
Het resultaat van de waarde-expressie kan van alle ondersteunde typen zijn.
Soort categorische variabele
Het resultaat van de waardeexpressie kan alleen het type Tekenreeks of Lang zijn.
Expressies voor samenvoegen
Aggregatie-expressies worden gebruikt om de aggregatiebewerking weer te geven die voor de query moet worden gebruikt. Een statistische expressie resulteert in één waarde voor elk interval. Aggregatie-expressies kunnen worden toegepast op numerieke en aggregatievariabelen.
Aggregatie-expressies - soort numerieke variabele
Numerieke variabelen moeten verwijzen naar $value
.
Dit zijn de ondersteunde statistische functies.
Statistische functie | Voorbeeld | Beschrijving |
---|---|---|
min |
min($value) |
Berekent het minimum van de $value per interval. Vermijdt null waarden. Kan niet worden gebruikt met interpolatie. |
max |
max($value) |
Berekent het maximum van de $value per interval. Vermijdt null waarden. Kan niet worden gebruikt met interpolatie. |
sum |
sum($value) |
Berekent de som van $value alle gebeurtenissen in het interval. Vermijdt null waarden. Kan niet worden gebruikt met interpolatie. |
avg |
avg($value) |
Berekent het gemiddelde van $value alle gebeurtenissen in het interval. Vermijdt null waarden. Kan niet worden gebruikt met interpolatie. |
first |
first($value) |
Retourneert de eerste gebeurtenis in het interval per gebeurtenistijdstempel $value . Vermijdt geennull waarden. Kan niet worden gebruikt met interpolatie. |
last |
last($value) |
Retourneert de laatste gebeurtenis in het interval op tijdstempel $value van de gebeurtenis. Vermijdt geennull waarden. Kan niet worden gebruikt met interpolatie. |
median |
median($value) |
Retourneert de middelste gebeurtenis in het interval per gebeurtenistijdstempel $value . Vermijdt geennull waarden. Kan niet worden gebruikt met interpolatie. |
stdev |
stdev($value) |
Retourneert $value de standaarddeviatie van de gebeurtenissen in het interval. Vermijdt null waarden. Kan niet worden gebruikt met interpolatie. |
twsum |
twsum($value) |
Retourneert $value de tijdgewogen som van de gebeurtenissen in het interval. Interpolatie is vereist. |
twavg |
twavg($value) |
Retourneert $value het tijdgewogen gemiddelde van de gebeurtenissen in het interval. Interpolatie is vereist. |
left |
left($value) |
Retourneert de $value aan de linkerkant van het opgegeven interval. Interpolatie is vereist. |
right |
right($value) |
Retourneert de $value aan de rechterkant van het opgegeven interval. Interpolatie is vereist. |
Aggregatie-expressies - soort statistische variabele
Statistische variabelen moeten verwijzen naar een eigenschap in de nettolading van de gebeurtenis.
Dit zijn de ondersteunde statistische functies.
Statistische functie | Voorbeeld | Beschrijving |
---|---|---|
count |
count() |
Retourneert het aantal gebeurtenissen per interval. |
min |
min($event.Temperature.Double) |
Berekent het minimum van de eigenschap Temperatuur per interval. Vermijdt null waarden. |
max |
max($event.Temperature.Long) |
Berekent het maximum van de eigenschap Temperatuur per interval. Vermijdt null waarden. |
sum |
sum($event.Temperature.Double) |
Berekent de som van de eigenschap Temperatuur voor alle gebeurtenissen in het interval. Vermijdt null waarden. |
avg |
avg($event.Temperature.Long) |
Berekent het gemiddelde van de eigenschap Temperatuur voor alle gebeurtenissen in het interval. Vermijdt null waarden. |
first |
first($event.Temperature.String) |
Retourneert de eerste opgetreden waarde (op gebeurtenistijdstempel) van de eigenschap Temperatuur van alle gebeurtenissen in het interval. Vermijdt geennull waarden. |
last |
last($event.Temperature.String) |
Retourneert de laatst voorkomende waarde (op gebeurtenistijdstempel) van de eigenschap Temperatuur van alle gebeurtenissen in het interval. Vermijdt geennull waarden. |
median |
median($event.Temperature.String) |
Retourneert de middelste opgetreden waarde (op gebeurtenistijdstempel) van de eigenschap Temperatuur van alle gebeurtenissen in het interval. Vermijdt geennull waarden. |
stdev |
stdev($event.Temperature.String) |
Berekent de standaarddeviatie van de eigenschap Temperatuur per interval. Vermijdt null waarden. |
Voor een soort statistische variabele kunnen deze functies worden gecombineerd in de statistische expressie. Bijvoorbeeld: max($event.Temperature.Long) - min($event.Temperature.Long)
.
Syntax
In deze sectie worden de belangrijkste syntaxisconcepten en queryoperators beschreven die worden samengevoegd tot formulierexpressies.
Ondersteunde letterlijke waarden
Notitie
De letterlijke waarden hieronder worden gebruikt om expressies te vormen. Zie het artikel Ondersteunde gegevenstypen voor de volledige lijst met gegevenstypen.
Primitief type | Literals |
---|---|
Bool |
TRUE , FALSE |
Datum/tijd | dt'2016-10-08T03:22:55.3031599Z' |
Dubbele |
1.23 , 1.0 |
Lange |
1 , 6 |
Tekenreeks | 'abc' |
Tijdspanne | ts'P1Y2M3DT4M5.67S' |
Null | NULL |
Ondersteunde operandtypen
Bewerking | Ondersteunde typen | Notities |
---|---|---|
<, >, <=, >= | Double, Long, DateTime, TimeSpan | |
=, !=, <> | Double, Long, String, Bool, DateTime, TimeSpan, NULL | <> is gelijk aan != |
+, -, *, / | Double, Long, DateTime, TimeSpan |
Voor vergelijkingsexpressies (<, >, =<, >=, =, !=) kunnen de operanden NULL zijn of van hetzelfde type zijn. In elke predicaatexpressie worden typen linkszijdige (LHS) en RHS-operanden (right side) gevalideerd om overeen te komen. Fouten treden op wanneer de typen LHS en RHS niet overeenkomen, of wanneer een bewerking niet is toegestaan op bepaalde typen.
Notitie
Tekenreekstype is niet nullable in Warm Store:
- Vergelijking van Tekenreeks met NULL en lege tekenreeks ('') gedraagt zich op dezelfde manier:
$event.p1.String = NULL
is gelijk aan$event.p1.String = ''
. - API kan NULL-waarden retourneren, zelfs als de oorspronkelijke gebeurtenissen lege tekenreeksen bevatten.
In de toekomst zal hetzelfde gedrag zijn op Cold Store.
Neem geen afhankelijkheid van NULL-waarden in tekenreekskolommen en behandel deze op dezelfde manier als lege tekenreeksen.
- Er wordt een typecontrole toegepast:
- Elk eigenschapstype wordt geaccepteerd op basis van een
NULL
letterlijke waarde. - De typen LHS en RHS moeten overeenkomen.
- Elk eigenschapstype wordt geaccepteerd op basis van een
Hier volgen voorbeelden van eigenschappen p1 en p2 van het type String, eigenschap p3 van het type Double en een geneste eigenschap die is opgeslagen als p4.p5 van het type Double:
Filter | Is geldig? | Notities |
---|---|---|
$event.p1.String = 'abc' |
Ja | |
$event.p1.String = $event.p2.String |
Ja | |
$event.p1.String = NULL |
Ja |
NULL komt overeen met elk type aan de linkerkant. |
$event.p3.Double = 'abc' |
Nee | Het type komt niet overeen. |
$event.p3.Double = $event.p1.String |
Nee | Het type komt niet overeen. |
$event.p1 = 'abc' |
Nee | Het type komt niet overeen. |
$event.p1 = 1 |
Nee | Het type komt niet overeen. |
$event.p1 = true |
Nee | Het type komt niet overeen. |
$event.p1 = NULL |
Ja |
p1 is het enige gebruikte token. Geïnterpreteerd als $event.p1.Double = NULL |
$event['p1'] != NULL |
Ja |
['p1'] is het enige gebruikte token. Geïnterpreteerd als $event['p1'].Double != NULL |
$event.p4.p5 = 0.0 |
Nee | Ongeldige verwijzingssyntaxis van eigenschap. Een type moet worden opgegeven op LHS van vergelijking. |
$event.p4.p5.Double = 0.0 |
Ja |
Ondersteunde scalaire functies
Hieronder vindt u de lijst met scalaire functies per categorie:
Conversiefuncties
Functienaam | Handtekening | Voorbeeld | Opmerkingen |
---|---|---|---|
toDouble |
Double toDouble (value: String, Double, Long) |
toDouble($event.value.Long) |
Converteert de argumenten naar Dubbel. |
toLong |
Long toLong (value: String, Double, Long) |
toLong($event.value.Double + 1.0) |
Converteert de argumenten naar Lang. |
toString |
String toString (value: String, Double, Long) |
toString($event.value.Double) |
Converteert argumenten naar tekenreeks. |
Wiskundige functies
Functienaam | Handtekening | Voorbeeld | Opmerkingen |
---|---|---|---|
round |
Double round(value:Double) |
round($event.value.Double) |
Rondt een zwevend getal met dubbele precisie af op de dichtstbijzijnde integraal. |
ceiling |
Double ceiling(value:Double) |
ceiling($event.value.Double) |
Retourneert de kleinste integrale waarde die groter is dan of gelijk is aan een drijvendekommagetal met dubbele precisie. |
floor |
Double floor(value:Double) |
floor($event.value.Double) |
Geeft als resultaat de grootste integrale waarde die kleiner is dan of gelijk is aan een drijvendekommagetal met dubbele precisie. |
Trigonometrische functies
Functienaam | Handtekening | Voorbeeld | Opmerkingen |
---|---|---|---|
cos |
Double cos(value:Double) |
cos($event.value.Double) |
Retourneert de cosinus van de opgegeven hoek in radialen. |
sin |
Double sin(value:Double) |
sin($event.value.Double) |
Retourneert de sinus van de opgegeven hoek in radialen. |
tan |
Double tan(value:Double) |
tan($event.value.Double) |
Retourneert de tangens van de opgegeven hoek in radialen. |
acos |
Double acos(value:Double) |
acos($event.value.Double) |
Berekent de hoek in radialen waarvan de cosinus het opgegeven getal is. |
asin |
Double asin(value:Double) |
asin($event.value.Double) |
Retourneert de hoek in radialen waarvan sinus het opgegeven getal is. |
atan |
Double atan(value:Double) |
atan($event.value.Double) |
Berekent de hoek in radialen waarvan de tangens het opgegeven getal is. |
atan2 |
Double atan2(value1:Double, value2:Double) |
atan2($event.value1.Double, $event.value2.Double) |
Retourneert de hoek in radialen waarvan Tangens het quotiënt is van twee opgegeven getallen. |
Logaritmische functies
Functienaam | Handtekening | Voorbeeld | Opmerkingen |
---|---|---|---|
log |
Double log(value:Double) |
log($event.value.Double) |
Retourneert de natuurlijke logaritme van een opgegeven getal. |
log2 |
Double log2(value:Double) |
log2($event.value.Double) |
Retourneert de logaritme met grondtal 2 van een opgegeven getal. |
log10 |
Double log10(value:Double) |
log10($event.value.Double) |
Retourneert de logaritme met grondtal 10 van een opgegeven getal. |
DateTime-functies
Functienaam | Handtekening | Voorbeeld | Opmerkingen |
---|---|---|---|
monthOfYear |
Long monthOfYear(value:DateTime) |
monthOfYear($event.$ts) |
Retourneert de maand van het jaar als een numerieke waarde voor de opgegeven datum/tijd. |
dayOfMonth |
Long dayOfMonth(value:DateTime) |
dayOfMonth($event.$ts) |
Retourneert de dag van de maand als een numerieke waarde voor de opgegeven datum/tijd. |
hourOfDay |
Long hourOfDay(value:DateTime) |
hourOfDay($event.$ts) |
Retourneert het uur van de dag als een numerieke waarde voor de opgegeven datum/tijd. |
utcNow |
DateTime utcNow() |
utcNow() |
Retourneert de huidige tijd in UTC-indeling. |
Tekenreeksfuncties
Functienaam | Handtekening | Voorbeeld | Opmerkingen |
---|---|---|---|
toUpper |
String toUpper(value:String) |
toUpper($event.value.String) |
Retourneert invoertekenreeks geconverteerd naar hoofdletters. |
toLower |
String toLower(value:String) |
toLower($event.value.String) |
Retourneert invoertekenreeks die is geconverteerd naar kleine letters. |
strLen |
Long strLen(value:String) |
strLen($event.value.String) |
Retourneert het aantal tekens in het tekenreeksargument. |
strCat |
Long strCat(value1:String, value2:String) |
strCat($event.value1.String, $event.value2.String) |
Voegt twee opgegeven invoerreeksen samen. |
subString |
String subString(value:String, startIndex:Double, length:Double) |
subString($event.value.String, 2.0, 4.0) |
Haalt een subtekenreeks op uit dit exemplaar. |
trim |
String trim(value:String) |
trim($event.value.String) |
Retourneert een nieuwe tekenreeks door alle voorloop- en volgspaties uit de invoertekenreeks te verwijderen. |
indexOf |
Long indexOf(value:String, subString:String) |
indexOf($event.value.String, 'abc') |
Retourneert het eerste exemplaar van de opgegeven tekenreeks in de oorspronkelijke tekenreeks, op basis van nul indexering. |
replace |
String replace(value:String, searchString:String, replaceString:String) |
replace($event.value.String, 'abc', 'xyz') |
Retourneert een tekenreeks waarbij alle exemplaren van de zoekreeks worden vervangen door de vervangende tekenreeks. |
Overige functies
Functienaam | Handtekening | Voorbeeld | Opmerkingen |
---|---|---|---|
coalesce |
String, Long, Double, Bool coalesce (value: String, Long, Double, Bool) |
coalesce(toLong($event.value.Double), $event.value.Long) |
Retourneert de eerste niet-null-waarde in de argumentenlijst. Accepteert minimaal 2 en maximaal 64 argumenten, maar ze moeten allemaal van hetzelfde gegevenstype zijn. |
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') |
Retourneert het tweede of derde argument, afhankelijk van of het predicaat is omgezet in waar (retourneert het tweede argument) of onwaar (retourneert het derde argument). Het predicaat moet een Booleaanse expressie zijn en het tweede en derde argument moeten van hetzelfde type zijn. |
Zie ook
Zie Azure Active Directory voor ontwikkelaars voor meer informatie over toepassingsregistratie en het Azure Active Directory-programmeermodel.
Lees Verificatie en autorisatie voor meer informatie over aanvraag - en verificatieparameters.
Hulpprogramma's die helpen bij het testen van HTTP-aanvragen en -antwoorden zijn onder andere:
Fiddler. Met deze gratis webopsporingsproxy kunt u uw REST-aanvragen onderscheppen, zodat u de HTTP-aanvraag- en antwoordberichten kunt diagnosticeren.
JWT.io. U kunt dit hulpprogramma gebruiken om snel de claims in uw Bearer-token te dumpen en vervolgens de inhoud ervan te valideren.
Postman. Dit is een gratis hulpprogramma voor het testen van HTTP-aanvragen en -antwoorden voor het opsporen van fouten in REST API's.
Meer informatie over Azure Time Series Insights Gen2 vindt u in de Gen2-documentatie.