Tutorials zu Formelausdrücken - AWS IoT SiteWise

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.

Tutorials zu Formelausdrücken

Sie können diesen Anleitungen folgen, um Formelausdrücke in zu verwenden. AWS IoT SiteWise

Verwenden Sie Zeichenketten in Formeln

Sie können mit Zeichenketten in Ihren Formelausdrücken arbeiten. Sie können auch Zeichenketten aus Variablen eingeben, die auf Attribut- und Messeigenschaften verweisen.

Wichtig

Formelausdrücke können nur Doppel- oder Zeichenkettenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenfolgen, aber die Formel als Ganzes muss eine Zahl oder Zeichenfolge ergeben. Sie können die Funktion jp verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter Undefinierte, unendliche und Überlaufwerte.

AWS IoT SiteWise stellt die folgenden Funktionen für Formelausdrücke bereit, mit denen Sie Zeichenfolgen bearbeiten können:

Datenpunkte filtern

Sie können die if-Funktion verwenden, um Datenpunkte herauszufiltern, die eine Bedingung nicht erfüllen. Die if Funktion wertet eine Bedingung aus und gibt unterschiedliche Werte true und false Ergebnisse zurück. Sie können die Konstante none als Ausgabe für einen Fall einer if Funktion verwenden, um den Datenpunkt für diesen Fall zu verwerfen.

Um Datenpunkte herauszufiltern, die einer Bedingung entsprechen
  • Erstellen Sie eine Transformation, die die if Funktion verwendet, um eine Bedingung zu definieren, die prüft, ob eine Bedingung erfüllt ist, und entweder den result_if_false Wert result_if_true oder zurückgibtnone.

Beispiel: Filtert Datenpunkte heraus, an denen das Wasser nicht kocht

Stellen Sie sich ein Szenario vor, in dem Sie eine Messung durchführentemp_c, die die Temperatur (in Celsius) des Wassers in einer Maschine angibt. Sie können die folgende Transformation definieren, um Datenpunkte herauszufiltern, an denen das Wasser nicht kocht:

  • Transformation: boiling_temps = if(gte(temp_c, 100), temp_c, none) — Gibt die Temperatur zurück, wenn sie größer oder gleich 100 Grad Celsius ist, andernfalls wird kein Datenpunkt zurückgegeben.

Zählen Sie Datenpunkte, die einer Bedingung entsprechen

Sie können Vergleichsfunktionen und sum () verwenden, um die Anzahl der Datenpunkte zu zählen, für die eine Bedingung zutrifft.

Um Datenpunkte zu zählen, die einer Bedingung entsprechen
  1. Erstellen Sie eine Transformation, die eine Vergleichsfunktion verwendet, um eine Filterbedingung für eine andere Eigenschaft zu definieren.

  2. Erstellen Sie eine Metrik, die die Datenpunkte summiert, für die diese Bedingung erfüllt ist.

Beispiel: Zählen Sie die Anzahl der Datenpunkte, bei denen Wasser kocht

Stellen Sie sich ein Szenario vor, in dem Sie über eine Messung verfügentemp_c, die die Temperatur (in Celsius) des Wassers in einer Maschine angibt. Sie können die folgenden Transformations- und Metrikeigenschaften definieren, um die Anzahl der Datenpunkte zu zählen, bei denen das Wasser kocht:

  • Transformation: is_boiling = gte(temp_c, 100) — Gibt zurück, 1 ob die Temperatur größer oder gleich 100 Grad Celsius ist, andernfalls wird zurückgegeben0.

  • Metrisch: boiling_count = sum(is_boiling) — Gibt die Anzahl der Datenpunkte zurück, an denen Wasser kocht.

Späte Daten in Formeln

AWS IoT SiteWise unterstützt die späte Datenaufnahme von Daten, die bis zu 7 Tage alt sind. Wenn verspätete Daten AWS IoT SiteWise empfangen werden, werden vorhandene Werte für jede Metrik neu berechnet, die die verspäteten Daten in einem vergangenen Fenster eingibt. Diese Neuberechnungen führen zu Gebühren für die Datenverarbeitung.

Anmerkung

Bei der AWS IoT SiteWise Berechnung von Eigenschaften, die verspätete Daten eingeben, wird der aktuelle Formelausdruck jeder Eigenschaft verwendet.

Nachdem ein vergangenes Fenster für eine Metrik AWS IoT SiteWise neu berechnet wurde, wird der vorherige Wert für dieses Fenster ersetzt. Wenn Sie Benachrichtigungen für diese Metrik aktiviert haben, wird AWS IoT SiteWise auch eine Benachrichtigung über den Eigenschaftswert ausgegeben. Dies bedeutet, dass Sie eine neue Benachrichtigung zum Aktualisieren von Eigenschaftswerten für dieselbe Eigenschaft und denselben Zeitstempel erhalten können, für die Sie zuvor bereits eine Benachrichtigung erhalten haben. Wenn Ihre Anwendungen oder Data Lakes Eigenschaftswertbenachrichtigungen verwenden, müssen Sie den vorherigen Wert mit dem neuen Wert aktualisieren, damit die Daten weiterhin korrekt sind.

Datenqualität in Formeln

AWS IoT SiteWise In hat jeder Datenpunkt einen Qualitätscode, der einer der folgenden sein kann:

  • GOOD— Die Daten sind von keinen Problemen betroffen.

  • BAD— Die Daten sind von einem Problem wie einem Sensorausfall betroffen.

  • UNCERTAIN— Die Daten sind von einem Problem wie einer Sensorungenauigkeit betroffen.

AWS IoT SiteWise verbraucht bei der Berechnung von Transformationen und Metriken nur GOOD hochwertige Daten. AWS IoT SiteWise gibt nur GOOD Qualitätsdaten für erfolgreiche Berechnungen aus. Wenn eine Berechnung nicht erfolgreich ist, wird AWS IoT SiteWise kein Datenpunkt für diese Berechnung ausgegeben. Dies kann auftreten, wenn eine Berechnung zu einem undefinierten, unendlichen oder Überlaufwert führt.

Weitere Informationen zum Abfragen von Daten und zum Filtern nach Datenqualität finden Sie unter Daten abfragen von AWS IoT SiteWise.

Undefinierte, unendliche und Überlaufwerte

Einige Formelausdrücke (wie x / 0sqrt(-1), oderlog(0)) berechnen Werte, die in einem reellen Zahlensystem undefiniert, unendlich oder außerhalb des von unterstützten Bereichs liegen. AWS IoT SiteWise Wenn der Ausdruck einer Anlageneigenschaft einen undefinierten, unendlichen Wert oder einen Überlaufwert berechnet, wird AWS IoT SiteWise kein Datenpunkt für diese Berechnung ausgegeben.

AWS IoT SiteWise gibt auch keinen Datenpunkt aus, wenn ein nicht numerischer Wert als Ergebnis eines Formelausdrucks berechnet wird. Das bedeutet, dass, wenn Sie eine Formel definieren, die eine Zeichenfolge, ein Array oder die Konstante none berechnet, AWS IoT SiteWise kein Datenpunkt für diese Berechnung ausgegeben wird.

Beispiele

Jeder der folgenden Formelausdrücke führt zu einem Wert, der nicht als Zahl dargestellt AWS IoT SiteWise werden kann. AWS IoT SiteWise gibt bei der Berechnung dieser Formelausdrücke keinen Datenpunkt aus.

  • x / 0ist undefiniert.

  • log(0)ist undefiniert.

  • sqrt(-1)ist in einem reellen Zahlensystem undefiniert.

  • "hello" + " world"ist eine Zeichenfolge.

  • jp('{"values":[3,6,7]}', '$.values')ist ein Array.

  • if(gte(temp, 300), temp, none)ist none wann temp ist weniger als300.