Referenz für Eingaben und Variablen in Ausdrücken - AWS IoT Events

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.

Referenz für Eingaben und Variablen in Ausdrücken

Eingaben

$input.input-name.path-to-data

input-nameist eine Eingabe, die Sie mithilfe der CreateInputAktion erstellen.

Wenn Sie beispielsweise eine Eingabe benannt haben, TemperatureInput für die Sie inputDefinition.attributes.jsonPath Einträge definiert haben, werden die Werte möglicherweise in den folgenden verfügbaren Feldern angezeigt.

{ "temperature": 78.5, "date": "2018-10-03T16:09:09Z" }

Verwenden Sie den folgenden Befehl, um temperature auf den Wert des Felds zu verweisen.

$input.TemperatureInput.temperature

Bei Feldern, deren Werte Arrays sind, können Sie mit Hilfe [n] von auf Elemente des Arrays verweisen. Zum Beispiel bei den folgenden Werten:

{ "temperatures": [ 78.4, 77.9, 78.8 ], "date": "2018-10-03T16:09:09Z" }

Auf den Wert 78.8 kann mit dem folgenden Befehl verwiesen werden.

$input.TemperatureInput.temperatures[2]
Variablen

$variable.variable-name

Das variable-name ist eine Variable, die Sie mithilfe der CreateDetectorModelAktion definiert haben.

Wenn Sie beispielsweise eine Variable benannt haben, TechnicianID die Sie mithilfe definiert habendetectorDefinition.states.onInputEvents.actions.setVariable.variableName, können Sie mit dem folgenden Befehl auf den Wert (Zeichenfolge) verweisen, der der Variablen zuletzt zugewiesen wurde.

$variable.TechnicianID

Sie können die Werte von Variablen nur mithilfe der setVariable Aktion festlegen. Sie können Variablen in einem Ausdruck keine Werte zuweisen. Eine Variable kann nicht rückgängig gemacht werden. Sie können ihr beispielsweise den Wert null nicht zuweisen.

Anmerkung

In Verweisen, die Bezeichner verwenden, die nicht dem Muster (regulärer Ausdruck) folgen[a-zA-Z][a-zA-Z0-9_]*, müssen Sie diese Bezeichner in Backticks () einschließen. ` Beispielsweise _value muss ein Verweis auf eine Eingabe, die MyInput mit einem Feld benannt ist, dieses Feld als angeben. $input.MyInput.`_value`

Wenn Sie Verweise in Ausdrücken verwenden, überprüfen Sie Folgendes:

  • Wenn Sie eine Referenz als Operanden mit einem oder mehreren Operatoren verwenden, stellen Sie sicher, dass alle Datentypen, auf die Sie verweisen, kompatibel sind.

    Im folgenden Ausdruck 2 ist Integer beispielsweise ein Operand sowohl der == Operatoren als auch. && Um sicherzustellen, dass die Operanden kompatibel sind $variable.testVariable + 1 und auf eine Ganzzahl oder Dezimalzahl verweisen $variable.testVariable müssen.

    Außerdem 1 ist Integer ein Operand des Operators+. $variable.testVariableMuss daher auf eine Ganzzahl oder Dezimalzahl verweisen.

    ‘$variable.testVariable + 1 == 2 && $variable.testVariable’
  • Wenn Sie eine Referenz als Argument verwenden, das an eine Funktion übergeben wird, stellen Sie sicher, dass die Funktion die Datentypen unterstützt, auf die Sie verweisen.

    Für die folgende timeout("time-name") Funktion ist beispielsweise eine Zeichenfolge mit doppelten Anführungszeichen als Argument erforderlich. Wenn Sie eine Referenz für die verwenden timer-name Wert, Sie müssen auf eine Zeichenfolge mit doppelten Anführungszeichen verweisen.

    timeout("timer-name")
    Anmerkung

    Für die convert(type, expression) Funktion, wenn Sie eine Referenz für die verwenden type Wert, das ausgewertete Ergebnis Ihrer Referenz muss StringDecimal, oder seinBoolean.

AWS IoT Events Ausdrücke unterstützen Integer-, Dezimal-, String- und Boolesche Datentypen. Die folgende Tabelle enthält eine Liste inkompatibler Typpaare.

Inkompatible Typenpaare

Ganzzahl, Zeichenfolge

Ganzzahl, Boolean

Dezimal, Zeichenfolge

Dezimal, Boolesch

Zeichenfolge, Boolean