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.
Analyse und Diagnoseinformationen zu Detektormodellen
Bei Analysen von Detektormodellen werden die folgenden Diagnoseinformationen gesammelt:
-
Stufe — Der Schweregrad des Analyseergebnisses. Basierend auf dem Schweregrad lassen sich die Analyseergebnisse in drei allgemeine Kategorien einteilen:
-
Information (
INFO
) — Ein Informationsergebnis gibt Aufschluss über ein bedeutendes Feld in Ihrem Detektormodell. Für diese Art von Ergebnis sind in der Regel keine sofortigen Maßnahmen erforderlich. -
Warnung (
WARNING
) — Ein Warnungsergebnis lenkt besondere Aufmerksamkeit auf Felder, die Probleme mit Ihrem Meldermodell verursachen könnten. Wir empfehlen Ihnen, die Warnungen zu lesen und die erforderlichen Maßnahmen zu ergreifen, bevor Sie Ihr Meldermodell in Produktionsumgebungen verwenden. Andernfalls funktioniert das Meldermodell möglicherweise nicht wie erwartet. -
Fehler (
ERROR
) — Ein Fehlerergebnis informiert Sie über ein Problem in Ihrem Detektormodell. AWS IoT Events führt diesen Satz von Analysen automatisch durch, wenn Sie versuchen, das Detektormodell zu veröffentlichen. Sie müssen alle Fehler beheben, bevor Sie das Detektormodell veröffentlichen können.
-
-
Position — Enthält Informationen, anhand derer Sie das Feld in Ihrem Detektormodell lokalisieren können, auf das sich das Analyseergebnis bezieht. Ein Standort umfasst in der Regel den Namen des Status, den Namen des Übergangsereignisses, den Namen des Ereignisses und den Ausdruck (z. B.
in state TemperatureCheck in onEnter in event Init in action setVariable
). -
Typ — Der Typ des Analyseergebnisses. Analysetypen lassen sich in die folgenden Kategorien einteilen:
-
supported-actions
— AWS IoT Events kann Aktionen aufrufen, wenn ein bestimmtes Ereignis oder ein Übergangsereignis erkannt wird. Sie können integrierte Aktionen definieren, um einen Timer zu verwenden oder eine Variable festzulegen oder Daten an andere AWS Dienste zu senden. Sie müssen Aktionen angeben, die mit anderen AWS Diensten in einer AWS Region funktionieren, in der die AWS Dienste verfügbar sind. -
service-limits
— Dienstkontingente, auch Limits genannt, sind die maximale oder minimale Anzahl von Serviceressourcen oder Vorgängen für Ihr AWS Konto. Wenn nicht anders angegeben, gilt jedes Kontingent spezifisch für eine Region. Je nach Ihren Geschäftsanforderungen können Sie Ihr Meldermodell aktualisieren, um Grenzwerte zu vermeiden, oder eine Erhöhung des Kontingents beantragen. Sie können für einige Kontingente eine Erhöhung beantragen, während andere Kontingente nicht erhöht werden können. Weitere Informationen finden Sie unter Kontingente.
-
-
structure
— Das Detektormodell muss alle erforderlichen Komponenten wie Zustände enthalten und einer Struktur folgen, die dies AWS IoT Events unterstützt. Ein Detektormodell muss mindestens einen Zustand und eine Bedingung haben, die die eingehenden Eingabedaten auswertet, um signifikante Ereignisse zu erkennen. Wenn ein Ereignis erkannt wird, wechselt das Detektormodell in den nächsten Status und kann Aktionen auslösen. Diese Ereignisse werden als Übergangsereignisse bezeichnet. Ein Übergangsereignis muss den nächsten Status anweisen, in den Status einzutreten. -
expression-syntax
— AWS IoT Events bietet mehrere Möglichkeiten, Werte anzugeben, wenn Sie Detektormodelle erstellen und aktualisieren. Sie können Literale, Operatoren, Funktionen, Referenzen und Substitutionsvorlagen in den Ausdrücken verwenden. Sie können Ausdrücke verwenden, um Literalwerte anzugeben, oder Sie AWS IoT Events können die Ausdrücke auswerten, bevor Sie bestimmte Werte angeben. Ihr Ausdruck muss der erforderlichen Syntax entsprechen. Weitere Informationen finden Sie unter Ausdrücke zum Filtern, Transformieren und Verarbeiten von Ereignisdaten.Detector Model-Ausdrücke in AWS IoT Events können auf bestimmte Daten oder eine Ressource verweisen.
-
data-type
— AWS IoT Events unterstützt Integer-, Dezimal-, String- und Boolesche Datentypen. Wenn die Daten eines Datentyps bei der Auswertung von Ausdrücken automatisch in einen anderen konvertiert werden AWS IoT Events können, sind diese Datentypen kompatibel.Anmerkung
-
Integer und Decimal sind die einzigen kompatiblen Datentypen, die von unterstützt werden AWS IoT Events.
-
AWS IoT Events kann keine arithmetischen Ausdrücke auswerten, da eine Ganzzahl nicht in eine Zeichenfolge konvertiert werden AWS IoT Events kann.
-
-
referenced-data
— Sie müssen die Daten definieren, auf die in Ihrem Detektormodell verwiesen wird, bevor Sie die Daten verwenden können. Wenn Sie beispielsweise Daten an eine DynamoDB-Tabelle senden möchten, müssen Sie eine Variable definieren, die auf den Tabellennamen verweist, bevor Sie die Variable in einem Ausdruck ()$variable.TableName
verwenden können. -
referenced-resource
— Ressourcen, die das Detektormodell verwendet, müssen verfügbar sein. Sie müssen Ressourcen definieren, bevor Sie sie verwenden können. Sie möchten beispielsweise ein Detektormodell zur Überwachung der Temperatur eines Gewächshauses erstellen. Sie müssen eine Eingabe ($input.TemperatureInput
) definieren, um eingehende Temperaturdaten an Ihr Meldermodell weiterzuleiten, bevor Sie$input.TemperatureInput.sensorData.temperature
die Temperatur als Referenz verwenden können.
-
Im folgenden Abschnitt finden Sie Informationen zur Behebung von Fehlern und zur Suche nach möglichen Lösungen anhand der Analyse Ihres Detektormodells.
Beheben Sie Fehler im Detektormodell
Die oben beschriebenen Fehlertypen liefern Diagnoseinformationen zu einem Detektormodell und entsprechen Meldungen, die Sie möglicherweise abrufen. Verwenden Sie diese Meldungen und Lösungsvorschläge, um Fehler mit Ihrem Meldermodell zu beheben.
Nachrichten und Lösungen
Location
Ein Analyseergebnis mit Informationen überLocation
, entspricht der folgenden Fehlermeldung:
-
Meldung — Enthält zusätzliche Informationen zum Analyseergebnis. Dies kann eine Information, Warnung oder Fehlermeldung sein.
Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie eine Aktion angegeben haben, die AWS IoT Events derzeit nicht unterstützt wird. Eine Liste der unterstützten Aktionen finden Sie unterUnterstützte Aktionen zum Empfangen von Daten und Auslösen von Aktionen.
supported-actions
Ein Analyseergebnis mit Informationen übersupported‐actions
, entspricht den folgenden Fehlermeldungen:
-
Meldung: Ungültiger Aktionstyp in der Aktionsdefinition vorhanden:
action-definition
.Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie eine Aktion angegeben haben, die AWS IoT Events derzeit nicht unterstützt wird. Eine Liste der unterstützten Aktionen finden Sie unterUnterstützte Aktionen zum Empfangen von Daten und Auslösen von Aktionen.
-
Meldung: Die DetectorModel Definition hat eine
aws-Dienst
Aktion, aber dieAWS-Service
Der Dienst wird in der Region nicht unterstütztregion-name
.Möglicherweise erhalten Sie diese Fehlermeldung, wenn die von Ihnen angegebene Aktion von unterstützt wird AWS IoT Events, die Aktion jedoch in Ihrer aktuellen Region nicht verfügbar ist. Dies kann auftreten, wenn Sie versuchen, Daten an einen AWS Dienst zu senden, der in der Region nicht verfügbar ist. Sie müssen außerdem dieselbe Region für beide AWS IoT Events und die AWS Dienste, die Sie verwenden, auswählen.
service-limits
Ein Analyseergebnis mit Informationen überservice‐limits
, entspricht den folgenden Fehlermeldungen:
-
Meldung: Der in der Nutzlast zulässige Inhaltsausdruck hat das Limit überschritten
content-expression-size
Byte im Ereignisevent-name
im Bundesstaatstate-name
.Möglicherweise erhalten Sie diese Fehlermeldung, wenn der Inhaltsausdruck für Ihre Aktionsnutzlast größer als 1024 Byte ist. Die Größe des Inhaltsausdrucks für eine Payload kann bis zu 1024 Byte betragen.
-
Meldung: Die Anzahl der in der Definition des Detektormodells zulässigen Zustände hat den Grenzwert überschritten
states-per-detector-model
.Möglicherweise erhalten Sie diese Fehlermeldung, wenn Ihr Detektormodell mehr als 20 Zustände hat. Ein Detektormodell kann bis zu 20 Zustände haben.
-
Meldung: Die Dauer des Timers
timer-name
sollte mindestens seinminimum-timer-duration
Sekunden lang.Möglicherweise erhalten Sie diese Fehlermeldung, wenn die Dauer Ihres Timers weniger als 60 Sekunden beträgt. Wir empfehlen, dass die Dauer eines Timers zwischen 60 und 31622400 Sekunden liegt. Wenn Sie einen Ausdruck für die Dauer Ihres Timers angeben, wird das ausgewertete Ergebnis des Dauerausdrucks auf die nächste ganze Zahl abgerundet.
-
Meldung: Die Anzahl der pro Ereignis zulässigen Aktionen hat den Grenzwert überschritten
actions-per-event
in der Definition des DetektormodellsMöglicherweise erhalten Sie diese Fehlermeldung, wenn das Ereignis mehr als 10 Aktionen umfasst. Sie können bis zu 10 Aktionen für jedes Ereignis in Ihrem Meldermodell einrichten.
-
Meldung: Die Anzahl der pro Status zulässigen Übergangsereignisse hat den Grenzwert überschritten
transition-events-per-state
in der Definition des Detektormodells.Möglicherweise erhalten Sie diese Fehlermeldung, wenn der Status mehr als 20 Übergangsereignisse hat. Sie können bis zu 20 Übergangsereignisse für jeden Status in Ihrem Detektormodell haben.
-
Meldung: Die Anzahl der pro Status zulässigen Ereignisse hat den Grenzwert überschritten
events-per-state
in der Definition des DetektormodellsMöglicherweise erhalten Sie diese Fehlermeldung, wenn der Status mehr als 20 Ereignisse enthält. Sie können bis zu 20 Ereignisse für jeden Status in Ihrem Detektormodell haben.
-
Meldung: Die maximale Anzahl von Meldermodellen, die einem einzelnen Eingang zugeordnet werden können, hat möglicherweise den Grenzwert erreicht. Eingabe
input-name
wird verwendet indetector-models-per-input
Detektor modelliert Routen.Möglicherweise erhalten Sie diese Warnmeldung, wenn Sie versuchen, eine Eingabe an mehr als 10 Detektormodelle weiterzuleiten. Einem einzelnen Detektormodell können bis zu 10 verschiedene Detektormodelle zugeordnet werden.
structure
Ein Analyseergebnis mit Informationen überstructure
, entspricht den folgenden Fehlermeldungen:
-
Meldung: Für Aktionen ist möglicherweise nur ein Typ definiert, aber es wurde eine Aktion gefunden mit
number-of-types
Typen. Bitte teilen Sie es in separate Aktionen auf.Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie zwei oder mehr Aktionen in einem einzigen Feld angegeben haben, indem Sie API Operationen zum Erstellen oder Aktualisieren Ihres Meldermodells verwendet haben. Sie können eine Reihe von
Action
Objekten definieren. Stellen Sie sicher, dass Sie jede Aktion als separates Objekt definieren. -
Nachricht: Die TransitionEvent
transition-event-name
Übergänge in einen nicht existierenden Zustandstate-name
.Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie den nächsten Status, auf den Ihr Übergangsereignis verwiesen hat, nicht finden AWS IoT Events konnten. Stellen Sie sicher, dass der nächste Status definiert ist und dass Sie den richtigen Statusnamen eingegeben haben.
-
Meldung: Der DetectorModelDefinition hatte einen gemeinsamen Statusnamen: Zustand gefunden
state-name
mitnumber-of-states
Wiederholungen.Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie denselben Namen für einen oder mehrere Bundesstaaten verwenden. Stellen Sie sicher, dass Sie jedem Status in Ihrem Meldermodell einen eindeutigen Namen geben. Der Name des Bundesstaates muss 1-128 Zeichen lang sein. Gültige Zeichen: a-z, A-Z, 0-9, _ (Unterstrich) und - (Bindestrich).
-
Nachricht: Die Definition initialStateName
initial-state-name
entsprach keinem definierten Bundesstaat.Möglicherweise erhalten Sie diese Fehlermeldung, wenn der ursprüngliche Statusname falsch ist. Das Detektormodell bleibt im Anfangszustand (Start), bis eine Eingabe eintrifft. Sobald eine Eingabe eintrifft, geht das Detektormodell sofort in den nächsten Zustand über. Stellen Sie sicher, dass der ursprüngliche Statusname der Name eines definierten Zustands ist und dass Sie den richtigen Namen eingeben.
-
Meldung: Die Definition des Detektormodells muss mindestens eine Eingabe in einer Bedingung verwenden.
Dieser Fehler wird möglicherweise angezeigt, wenn Sie in einer Bedingung keine Eingabe angegeben haben. Sie müssen mindestens eine Eingabe in mindestens einer Bedingung verwenden. Andernfalls werden eingehende Daten AWS IoT Events nicht ausgewertet.
-
Nachricht: Nur eine von Sekunden und durationExpression kann eingegeben werden SetTimer.
Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie
seconds
sowohl als auchdurationExpression
für Ihren Timer verwendet haben. Stellen Sie sicher, dass Sie entwederseconds
oderdurationExpression
als Parameter von verwendenSetTimerAction
. Weitere Informationen finden Sie SetTimerActionin der AWS IoT Events APIReferenz. -
Meldung: Eine Aktion in Ihrem Meldermodell ist nicht erreichbar. Überprüfen Sie den Zustand, der die Aktion auslöst.
Wenn eine Aktion in Ihrem Meldermodell nicht erreichbar ist, wird der Zustand des Ereignisses als falsch bewertet. Überprüfen Sie die Bedingung des Ereignisses, das die Aktion enthält, um sicherzustellen, dass sie als wahr ausgewertet wird. Wenn die Bedingung des Ereignisses als wahr ausgewertet wird, sollte die Aktion erreichbar sein.
-
Meldung: Ein Eingabeattribut wird gelesen, dies kann jedoch durch den Ablauf eines Timers verursacht werden.
Der Wert eines Eingabeattributs kann gelesen werden, wenn einer der folgenden Fälle eintritt:
-
Ein neuer Eingabewert wurde empfangen.
-
Wenn ein Timer im Melder abgelaufen ist.
Um sicherzustellen, dass ein Eingabeattribut nur ausgewertet wird, wenn der neue Wert für diese Eingabe empfangen wird, fügen Sie einen
triggerType(“Message”)
Funktionsaufruf wie folgt in Ihre Bedingung ein:Der ursprüngliche Zustand wird im Detektormodell ausgewertet:
if ($input.HeartBeat.status == “OFFLINE”)
würde dem Folgenden ähnlich werden:
if ( triggerType("MESSAGE") && $input.HeartBeat.status == “OFFLINE”)
wobei ein Aufruf der
triggerType(“Message”)
Funktion vor der in der Bedingung angegebenen ersten Eingabe erfolgt. Bei Verwendung dieser Technik ergibt dietriggerType("Message")
Funktion den Wert true und erfüllt die Bedingung, dass ein neuer Eingabewert empfangen wird. Weitere Informationen zur Verwendung dertriggerType
Funktion finden SietriggerType
im Abschnitt Ausdrücke im AWS IoT Events Entwicklerhandbuch -
-
Meldung: Ein Status in Ihrem Detektormodell ist nicht erreichbar. Überprüfen Sie den Zustand, der zu einem Übergang in den gewünschten Zustand führen wird.
Wenn ein Zustand in Ihrem Detektormodell nicht erreichbar ist, wird eine Bedingung, die zu einem eingehenden Übergang in diesen Zustand führt, als falsch bewertet. Prüfen Sie, ob die Bedingungen für eingehende Übergänge in diesen unerreichbaren Zustand in Ihrem Detektormodell als wahr ausgewertet werden, sodass der gewünschte Zustand erreichbar werden kann.
-
Nachricht: Ein ablaufender Timer kann dazu führen, dass eine unerwartete Anzahl von Nachrichten gesendet wird.
Um zu verhindern, dass Ihr Meldermodell in einen unendlichen Zustand übergeht und eine unerwartete Anzahl von Nachrichten sendet, weil ein Timer abgelaufen ist, sollten Sie einen
triggerType("Message")
Funktionsaufruf unter den folgenden Bedingungen Ihres Meldermodells in Betracht ziehen:Der ursprüngliche Zustand wird im Meldermodell bewertet:
if (timeout("awake"))
würde in einen Zustand umgewandelt werden, der dem folgenden ähnelt:
if (triggerType("MESSAGE") && timeout("awake"))
wobei ein Aufruf der
triggerType(“Message”)
Funktion vor der ersten Eingabe erfolgt, die in der Bedingung bereitgestellt wird.Diese Änderung verhindert, dass Timer-Aktionen in Ihrem Detektor ausgelöst werden, wodurch verhindert wird, dass eine Endlosschleife von Nachrichten gesendet wird. Weitere Informationen zur Verwendung von Timer-Aktionen in Ihrem Melder finden Sie auf der Seite Verwenden integrierter Aktionen im AWS IoT Events Entwicklerhandbuch
expression-syntax
Ein Analyseergebnis mit Informationen überexpression‐syntax
, entspricht den folgenden Fehlermeldungen:
-
Nachricht: Ihr Payload-Ausdruck {
expression
} ist nicht gültig. Der definierte Payload-Typ istJSON, Sie müssen also einen Ausdruck angeben, der eine Zeichenfolge ergeben AWS IoT Events würde.Wenn der angegebene Nutzdatentyp „ist“JSON, wird AWS IoT Events zunächst geprüft, ob der Dienst Ihren Ausdruck als Zeichenfolge auswerten kann. Das ausgewertete Ergebnis darf weder ein boolescher Wert noch eine Zahl sein. Wenn die Überprüfung nicht erfolgreich ist, erhalten Sie möglicherweise diesen Fehler.
-
Nachricht:
SetVariableAction.value
muss ein Ausdruck sein. Der Wert '' konnte nicht analysiert werdenvariable-value
'Sie können es verwenden
SetVariableAction
, um eine Variable mit einemname
undvalue
zu definieren. Dabeivalue
kann es sich um eine Zeichenfolge, eine Zahl oder einen booleschen Wert handeln. Sie können auch einen Ausdruck für die angeben.value
Weitere Informationen finden Sie unter SetVariableAction, in der AWS IoT Events APIReferenz. -
Nachricht: Wir konnten Ihren Ausdruck der Attribute nicht analysieren (
attribute-name
) für die DynamoDB-Aktion. Geben Sie einen Ausdruck mit der richtigen Syntax ein.Sie müssen Ausdrücke für alle Parameter in Ersatzvorlagen verwenden
DynamoDBAction
. Weitere Informationen finden Sie unter D ynamoDBAction in der AWS IoT Events APIReferenz. -
Nachricht: Wir konnten Ihren Ausdruck tableName für die Aktion D ynamoDBv 2 nicht analysieren. Geben Sie den Ausdruck mit der richtigen Syntax ein.
tableName
Bei der EingabeDynamoDBv2Action
muss es sich um eine Zeichenfolge handeln. Sie müssen einen Ausdruck für die verwendentableName
. Die Ausdrücke akzeptieren Literale, Operatoren, Funktionen, Referenzen und Substitutionsvorlagen. Weitere Informationen finden Sie unter D ynamoDBv 2Action in der AWS IoT Events APIReferenz. -
Nachricht: Wir konnten Ihren Ausdruck nicht als gültig JSON bewerten. Die D ynamoDBv 2-Aktion unterstützt nur den JSON Payload-Typ.
Der Payload-Typ für
DynamoDBv2
muss sein. JSON Stellen Sie sicher, dass Ihr Inhaltsausdruck geprüft werden AWS IoT Events kann, damit die Payload gültig ist. JSON Weitere Informationen finden Sie unter D ynamoDBv 2Action in der AWS IoT Events API Referenz. -
Nachricht: Wir konnten Ihren Inhaltsausdruck nicht nach der Payload von analysieren
action-type
. Geben Sie einen Inhaltsausdruck mit der richtigen Syntax ein.Der Inhaltsausdruck kann Zeichenketten enthalten ('
string
'), Variablen ($variable.variable-name
), Eingabewerte ($input.input-name
.path-to-datum
), Zeichenkettenverkettungen und Zeichenketten, die enthalten.${}
-
Nachricht: Benutzerdefinierte Payloads dürfen nicht leer sein.
Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie für Ihre Aktion Benutzerdefiniertes Payload ausgewählt und keinen Inhaltsausdruck in der Konsole eingegeben haben. AWS IoT Events Wenn Sie Benutzerdefinierter Payload wählen, müssen Sie unter Benutzerdefinierter Payload einen Inhaltsausdruck eingeben. Weitere Informationen finden Sie in der Referenz unter Payload.AWS IoT Events API
-
Meldung: Fehler beim Analysieren des Ausdrucks für die Dauer '
duration-expression
'für den Timer'timer-name
'.Das ausgewertete Ergebnis Ihres Dauerausdrucks für den Timer muss ein Wert zwischen 60—31622400 sein. Das ausgewertete Ergebnis der Dauer wird auf die nächste ganze Zahl abgerundet.
-
Meldung: Der Ausdruck 'konnte nicht analysiert werden
expression
'füraction-name
Möglicherweise erhalten Sie diese Meldung, wenn der Ausdruck für die angegebene Aktion eine falsche Syntax hat. Stellen Sie sicher, dass Sie einen Ausdruck mit der richtigen Syntax eingeben. Weitere Informationen finden Sie unter Syntax zum Filtern von Gerätedaten und zum Definieren von Aktionen.
-
Nachricht: Ihr
fieldName
dennIotSitewiseAction
konnte nicht analysiert werden. Sie müssen in Ihrem Ausdruck die richtige Syntax verwenden.Möglicherweise erhalten Sie diesen Fehler, wenn Sie AWS IoT Events Ihren nicht analysieren konnten
fieldName
fürIotSitewiseAction
. Stellen Sie sicher, dassfieldName
verwendet einen Ausdruck, der analysiert AWS IoT Events werden kann. Weitere Informationen finden Sie IotSiteWiseActionin der AWS IoT Events APIReferenz.
data-type
Ein Analyseergebnis mit Informationen überdata‐type
, entspricht den folgenden Fehlermeldungen:
-
Meldung: Ausdruck für die Dauer
duration-expression
für Timertimer-name
ist nicht gültig, es muss eine Zahl zurückgegeben werden.Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie den Dauerausdruck für Ihren Timer nicht als Zahl auswerten AWS IoT Events konnten. Stellen Sie sicher, dass Ihr Wert in eine Zahl umgewandelt werden
durationExpression
kann. Andere Datentypen, wie z. B. Boolean, werden nicht unterstützt. -
Nachricht: Ausdruck
condition-expression
ist kein gültiger Bedingungsausdruck.Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie Ihren Wert nicht
condition-expression
auf einen booleschen Wert auswerten AWS IoT Events konnten. Der boolesche Wert muss entweder oder sein.TRUE
FALSE
Stellen Sie sicher, dass Ihr Bedingungsausdruck in einen booleschen Wert konvertiert werden kann. Wenn das Ergebnis kein boolescher Wert ist, entspricht es den Aktionen, die im Ereignis angegeben wurden,FALSE
und ruft diese nicht aufnextState
. -
Meldung: Inkompatible Datentypen [
inferred-types
] gefunden fürreference
im folgenden Ausdruck:expression
Lösung: Alle Ausdrücke für dasselbe Eingabeattribut oder dieselbe Variable im Detektormodell müssen auf denselben Datentyp verweisen.
Verwenden Sie die folgenden Informationen, um das Problem zu beheben:
-
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.testVariable
Muss 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("
Funktion ist beispielsweise eine Zeichenfolge mit doppelten Anführungszeichen als Argument erforderlich. Wenn Sie eine Referenz für die verwendentime-name
")timer-name
Wert, Sie müssen auf eine Zeichenfolge mit doppelten Anführungszeichen verweisen.timeout("
timer-name
")Anmerkung
Für die
convert(
Funktion, wenn Sie eine Referenz für dietype
,expression
)type
Wert, das ausgewertete Ergebnis Ihrer Referenz mussString
Decimal
, oder seinBoolean
.
Weitere Informationen finden Sie unter Referenz für Eingaben und Variablen in Ausdrücken.
-
-
Meldung: Inkompatible Datentypen [
inferred-types
] verwendet mitreference
. Dies kann zu einem Laufzeitfehler führen.Möglicherweise erhalten Sie diese Warnmeldung, wenn zwei Ausdrücke für dasselbe Eingabeattribut oder dieselbe Variable auf zwei Datentypen verweisen. Stellen Sie sicher, dass Ihre Ausdrücke für dasselbe Eingabeattribut oder dieselbe Variable auf denselben Datentyp im Detektormodell verweisen.
-
Meldung: Die Datentypen [
inferred‐types
], die Sie für den Operator [eingegeben habenoperator
] sind für den folgenden Ausdruck nicht kompatibel: 'expression
'Möglicherweise erhalten Sie diese Fehlermeldung, wenn Ihr Ausdruck Datentypen kombiniert, die mit einem angegebenen Operator nicht kompatibel sind. Im folgenden Ausdruck
+
ist der Operator beispielsweise mit den Datentypen Integer, Decimal und String kompatibel, nicht jedoch mit Operanden des Booleschen Datentyps.true + false
Sie müssen sicherstellen, dass die Datentypen, die Sie mit einem Operator verwenden, kompatibel sind.
-
Meldung: Die Datentypen [
inferred‐types
] gefunden fürinput‐attribute
sind nicht kompatibel und können zu einem Laufzeitfehler führen.Diese Fehlermeldung wird möglicherweise angezeigt, wenn zwei Ausdrücke für dasselbe Eingabeattribut auf zwei Datentypen verweisen, entweder für den
OnEnterLifecycle
eines Zustands oder für denOnInputLifecycle
undOnExitLifecycle
eines Zustands. Stellen Sie sicher, dass Ihre Ausdrücke inOnEnterLifecycle
(oder,OnInputLifecycle
sowohl als auchOnExitLifecycle
) für jeden Status Ihres Detektormodells auf denselben Datentyp verweisen. -
Nachricht: Der Payload-Ausdruck [
expression
] ist nicht gültig. Geben Sie einen Ausdruck an, der zur Laufzeit zu einer Zeichenfolge ausgewertet wird, da der Nutzdatentyp JSON Format ist.Möglicherweise erhalten Sie diesen Fehler, wenn der angegebene Payload-Typ zwar lautetJSON, aber AWS IoT Events Sie können seinen Ausdruck nicht als Zeichenfolge auswerten. Stellen Sie sicher, dass das ausgewertete Ergebnis eine Zeichenfolge und kein boolescher Wert oder eine Zahl ist.
-
Nachricht: Ihr interpolierter Ausdruck {
interpolated-expression
} muss zur Laufzeit entweder eine Ganzzahl oder einen booleschen Wert ergeben. Andernfalls ist Ihr Payload-Ausdruck {payload-expression
} kann zur Laufzeit nicht als gültig analysiert werden. JSONMöglicherweise erhalten Sie diese Fehlermeldung, wenn Sie Ihren interpolierten Ausdruck nicht zu einer Ganzzahl oder einem booleschen Wert auswerten AWS IoT Events konnten. Stellen Sie sicher, dass Ihr interpolierter Ausdruck in eine Ganzzahl oder einen booleschen Wert konvertiert werden kann, da andere Datentypen, wie z. B. Zeichenfolge, nicht unterstützt werden.
-
Meldung: Der Ausdruckstyp im Feld
IotSitewiseAction
expression
ist als Typ definiertdefined‐type
und als Typ abgeleitetinferred‐type
. Der definierte Typ und der abgeleitete Typ müssen identisch sein.Möglicherweise erhalten Sie diese Fehlermeldung, wenn Ihr Ausdruck in
propertyValue
of einen DatentypIotSitewiseAction
hat, der anders definiert ist als der von abgeleitete Datentyp. AWS IoT Events Stellen Sie sicher, dass Sie für alle Instanzen dieses Ausdrucks in Ihrem Detektormodell denselben Datentyp verwenden. -
Meldung: Die Datentypen [
inferred-types
], die für einesetTimer
Aktion verwendet werden, werden nichtInteger
für den folgenden Ausdruck ausgewertet:expression
Möglicherweise erhalten Sie diese Fehlermeldung, wenn der abgeleitete Datentyp für Ihren Dauerausdruck nicht Integer oder Decimal ist. Stellen Sie sicher, dass Ihr
durationExpression
Wert in eine Zahl umgewandelt werden kann. Andere Datentypen wie Boolean und String werden nicht unterstützt. -
Meldung: Die Datentypen [
inferred-types
] wird mit Operanden des Vergleichsoperators [verwendetoperator
] sind im folgenden Ausdruck nicht kompatibel:expression
Die abgeleiteten Datentypen für die Operanden von
operator
im bedingten Ausdruck (expression
) Ihres Detektormodells stimmen nicht überein. Die Operanden müssen mit den passenden Datentypen in allen anderen Teilen Ihres Detektormodells verwendet werden.Tipp
Sie können sie verwenden
convert
, um den Datentyp eines Ausdrucks in Ihrem Detektormodell zu ändern. Weitere Informationen finden Sie unter Funktionen zur Verwendung in Ausdrücken.
referenced-data
Ein Analyseergebnis mit Informationen überreferenced‐data
, entspricht den folgenden Fehlermeldungen:
-
Meldung: Defekter Timer: Timer erkannt
timer-name
wird in einem Ausdruck verwendet, aber nie gesetzt.Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie einen Timer verwenden, der nicht eingestellt ist. Sie müssen einen Timer festlegen, bevor Sie ihn in einem Ausdruck verwenden können. Stellen Sie außerdem sicher, dass Sie den richtigen Timer-Namen eingeben.
-
Meldung: Fehlerhaft erkannt Variable: Variable
variable-name
wird in einem Ausdruck verwendet, aber nie gesetzt.Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie eine Variable verwenden, die nicht festgelegt ist. Sie müssen eine Variable festlegen, bevor Sie sie in einem Ausdruck verwenden können. Stellen Sie außerdem sicher, dass Sie den richtigen Variablennamen eingeben.
-
Meldung: Fehlerhafte Variable erkannt: Eine Variable wird in einem Ausdruck verwendet, bevor sie auf einen Wert gesetzt wird.
Jeder Variablen muss ein Wert zugewiesen werden, bevor sie in einem Ausdruck ausgewertet werden kann. Legen Sie den Wert der Variablen vor jeder Verwendung fest, damit ihr Wert abgerufen werden kann. Stellen Sie außerdem sicher, dass Sie den richtigen Variablennamen eingeben.
referenced-resource
Ein Analyseergebnis mit Informationen überreferenced‐resource
, entspricht den folgenden Fehlermeldungen:
-
Meldung: Die Detector Model Definition enthält einen Verweis auf Input, der nicht existiert.
Möglicherweise erhalten Sie diese Fehlermeldung, wenn Sie Ausdrücke verwenden, um auf eine Eingabe zu verweisen, die nicht existiert. Stellen Sie sicher, dass Ihr Ausdruck auf eine vorhandene Eingabe verweist, und geben Sie den richtigen Eingabenamen ein. Wenn Sie keine Eingabe haben, erstellen Sie zuerst eine.
-
Meldung: Die Modelldefinition des Detektors enthält folgende ungültige Angaben InputName:
input-name
Möglicherweise erhalten Sie diese Fehlermeldung, wenn Ihr Detektormodell einen ungültigen Eingabenamen enthält. Stellen Sie sicher, dass Sie den richtigen Eingabenamen eingeben. Der Eingabename muss 1-128 Zeichen lang sein. Gültige Zeichen: a-z, A-Z, 0-9, _ (Unterstrich) und - (Bindestrich).