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.
AWS IoT SiteWise
Die Aktion AWS IoT SiteWise (iotSiteWise
) sendet Daten aus einer MQTT-Nachricht an die Asset-Eigenschaften in. AWS IoT SiteWise
Sie können einem Tutorial folgen, das Ihnen zeigt, wie Sie Daten von AWS IoT Dingen aufnehmen können. Weitere Informationen finden Sie im Tutorial Daten AWS IoT SiteWise aus AWS IoT Dingen aufnehmen oder im Abschnitt Daten mithilfe von AWS IoT Kernregeln aufnehmen im AWS IoT SiteWise Benutzerhandbuch.
Voraussetzungen
Diese Regelaktion hat die folgenden Anforderungen:
-
Eine IAM-Rolle, die die Ausführung des Vorgangs übernehmen AWS IoT kann.
iotsitewise:BatchPutAssetPropertyValue
Weitere Informationen finden Sie unter Gewähren Sie einer AWS IoT Regel den Zugriff, den sie benötigt.Sie können die folgende Beispiel-Vertrauensrichtlinie mit der Rolle verknüpfen.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*" } ] }
Um die Sicherheit zu erhöhen, können Sie in der
Condition
Eigenschaft einen Pfad zur AWS IoT SiteWise Asset-Hierarchie angeben. Das folgende Beispiel ist eine Vertrauensrichtlinie, die einen Komponentenhierarchiepfad angibt.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iotsitewise:BatchPutAssetPropertyValue", "Resource": "*", "Condition": { "StringLike": { "iotsitewise:assetHierarchyPath": [ "/
root node asset ID
", "/root node asset ID
/*" ] } } } ] } -
Wenn Sie AWS IoT SiteWise mit dieser Aktion Daten an senden, müssen Ihre Daten die Anforderungen des
BatchPutAssetPropertyValue
Vorgangs erfüllen. Weitere Informationen finden Sie BatchPutAssetPropertyValuein der AWS IoT SiteWise API-Referenz.
Parameter
Wenn Sie eine AWS IoT Regel mit dieser Aktion erstellen, müssen Sie die folgenden Informationen angeben:
putAssetPropertyValueEntries
-
Eine Liste mit Werteinträgen für die Komponenteneigenschaft, die jeweils die folgenden Informationen enthalten:
propertyAlias
-
(Optional) Der Eigenschaftenalias, der Ihrer Komponenteneigenschaft zugeordnet ist. Geben Sie entweder einen
propertyAlias
oder sowohl eineassetId
als auch einepropertyId
an. Weitere Informationen zu Eigenschaftsaliasnamen finden Sie unter Zuordnen von industriellen Datenströmen zu Komponenteneigenschaften im AWS IoT SiteWise -Benutzerhandbuch.Unterstützt Ersatzvorlagen: Ja
assetId
-
(Optional) Die ID des AWS IoT SiteWise Assets. Geben Sie entweder einen
propertyAlias
oder sowohl eineassetId
als auch einepropertyId
an.Unterstützt Ersatzvorlagen: Ja
propertyId
-
(Optional) Die ID der Komponenteneigenschaft. Geben Sie entweder einen
propertyAlias
oder sowohl eineassetId
als auch einepropertyId
an.Unterstützt Ersatzvorlagen: Ja
entryId
-
(Optional) Ein eindeutiger Bezeichner für diesen Eintrag. Definieren Sie die
entryId
, um besser zu nachzuverfolgen, welche Nachricht ggf. einen Fehler verursacht hat. Standardmäßig wird eine neue UUID verwendet.Unterstützt Ersatzvorlagen: Ja
propertyValues
-
Eine Liste der einzufügenden Eigenschaftswerte, die jeweils Zeitstempel, Qualität und Wert (Timestamp, Quality and Value, TQV) im folgenden Format enthalten:
timestamp
-
Eine Zeitstempelstruktur, die die folgenden Informationen enthält:
timeInSeconds
-
Eine Zeichenfolge, die die Zeit in Sekunden in der Unix-Epochenzeit enthält. Wenn Ihre Nachrichtennutzlast keinen Zeitstempel hat, können Sie timestamp() verwenden, der die aktuelle Zeit in Millisekunden zurückgibt. Um diese Zeit in Sekunden zu konvertieren, können Sie die folgende Ersetzungsvorlage verwenden:
${floor(timestamp() / 1E3)}
.Unterstützt Ersatzvorlagen: Ja
offsetInNanos
-
(Optional) Eine Zeichenfolge, die den Zeitversatz in Nanosekunden von der Zeit in Sekunden enthält. Wenn Ihre Nachrichtennutzlast keinen Zeitstempel hat, können Sie timestamp() verwenden, der die aktuelle Zeit in Millisekunden zurückgibt. Um den Nanosekunden-Zeitversatz von diesem Zeitpunkt zu berechnen, können Sie die folgende Ersetzungsvorlage verwenden:
${(timestamp() % 1E3) * 1E6}
.Unterstützt Ersatzvorlagen: Ja
In Bezug auf die Unix-Epochenzeit werden nur Einträge AWS IoT SiteWise akzeptiert, die einen Zeitstempel von bis zu 7 Tagen in der Vergangenheit und bis zu 5 Minuten in der future haben.
quality
-
(Optional) Eine Zeichenfolge, die die Qualität des Werts beschreibt. Zulässige Werte:
GOOD
,BAD
,UNCERTAIN
.Unterstützt Ersatzvorlagen: Ja
value
-
Eine Wertestruktur, die eines der folgenden Wertfelder enthält, je nach Datentyp der Komponenteneigenschaft:
booleanValue
-
(Optional) Eine Zeichenfolge, die den booleschen Wert des Werteintrags enthält.
Unterstützt Ersatzvorlagen: Ja
doubleValue
-
(Optional) Eine Zeichenfolge, die den doppelten Wert des Werteintrags enthält.
Unterstützt Ersatzvorlagen: Ja
integerValue
-
(Optional) Eine Zeichenfolge, die den Ganzzahlwert des Werteintrags enthält.
Unterstützt Ersatzvorlagen: Ja
stringValue
-
(Optional) Der Zeichenfolgenwert des Werteintrags.
Unterstützt Ersatzvorlagen: Ja
roleArn
-
Der ARN der IAM-Rolle, die die AWS IoT Berechtigung zum Senden eines Vermögenseigenschaftswerts an AWS IoT SiteWise erteilt. Weitere Informationen finden Sie unter Voraussetzungen.
Unterstützt Ersatzvorlagen: Nein
Beispiele
Das folgende JSON-Beispiel definiert eine grundlegende SiteWise IoT-Aktion in einer AWS IoT Regel.
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotSiteWise": { "putAssetPropertyValueEntries": [ { "propertyAlias": "/some/property/alias", "propertyValues": [ { "timestamp": { "timeInSeconds": "${my.payload.timeInSeconds}" }, "value": { "integerValue": "${my.payload.value}" } } ] } ], "roleArn": "arn:aws:iam::123456789012:role/aws_iot_sitewise" } } ] } }
Das folgende JSON-Beispiel definiert eine SiteWise IoT-Aktion in einer AWS IoT Regel. In diesem Beispiel wird das Thema als Eigenschaftsalias und die timestamp()
Funktion verwendet. Wenn Sie beispielsweise Daten in /company/windfarm/3/turbine/7/rpm
veröffentlichen, sendet diese Aktion die Daten an die Komponenteneigenschaft mit einem Eigenschaftsalias, der dem von Ihnen angegebenen Thema entspricht.
{ "topicRulePayload": { "sql": "SELECT * FROM '/company/windfarm/+/turbine/+/+'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotSiteWise": { "putAssetPropertyValueEntries": [ { "propertyAlias": "${topic()}", "propertyValues": [ { "timestamp": { "timeInSeconds": "${floor(timestamp() / 1E3)}", "offsetInNanos": "${(timestamp() % 1E3) * 1E6}" }, "value": { "doubleValue": "${my.payload.value}" } } ] } ], "roleArn": "arn:aws:iam::123456789012:role/aws_iot_sitewise" } } ] } }
Weitere Informationen finden Sie auch unter
-
Was ist AWS IoT SiteWise? im AWS IoT SiteWise Benutzerhandbuch
-
Daten mithilfe von AWS IoT Core Regeln im AWS IoT SiteWise Benutzerhandbuch aufnehmen
-
Daten aus AWS IoT Dingen AWS IoT SiteWise aus dem Benutzerhandbuch aufnehmen AWS IoT SiteWise
-
Problembehandlung bei einer AWS IoT SiteWise Regelaktion im AWS IoT SiteWise Benutzerhandbuch