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.
Timestream
Die Timestream-Regelaktion schreibt Attribute (Kennzahlen) aus einer MQTT-Nachricht in eine Amazon Timestream-Tabelle. Für weitere Informationen über Amazon Timestream, siehe Was ist Amazon Timestream?
Anmerkung
Amazon Timestream ist nicht in allen AWS-Region s verfügbar. Wenn Amazon Timestream in Ihrer Region nicht verfügbar ist, wird es nicht in der Liste der Regelaktionen angezeigt.
Die Attribute, die diese Regel in der Timestream-Datenbank speichert, sind diejenigen, die sich aus der Abfrageanweisung der Regel ergeben. Der Wert jedes Attributs im Ergebnis der Abfrageanweisung wird analysiert, um auf seinen Datentyp zu schließen (wie bei einer DynamoDBv2 Aktion). Der Wert jedes Attributs wird in einen eigenen Datensatz in der Timestream-Tabelle geschrieben. Um den Datentyp eines Attributs anzugeben oder zu ändern, verwenden Sie die cast() Funktion in der Abfrageanweisung. Weitere Informationen zum Inhalt der einzelnen Timestream-Datensätze finden Sie unter Timestream-Datensatzinhalte.
Anmerkung
Mit SQL V2 (23.03.2016) werden numerische Werte, die ganze Zahlen sind, wie z. B. 10.0
, in ihre Integer-Darstellung (10
) umgewandelt. Sie explizit in einen Decimal
Wert umzuwandeln, z. B. mithilfe der Funktion cast (), verhindert dieses Verhalten nicht — das Ergebnis ist immer noch ein Integer
Wert. Dies kann zu Typkonflikten führen, die verhindern, dass Daten in der Timestream-Datenbank aufgezeichnet werden. Um ganzzahlige numerische Werte als Decimal
Werte zu verarbeiten, verwenden Sie SQL V1 (2015-10-08) für die Regelabfrageanweisung.
Anmerkung
Die maximale Anzahl von Werten, die eine Timestream-Regelaktion in eine Amazon Timestream-Tabelle schreiben kann, ist 100. Weitere Informationen finden Sie unter Amazon Timestream Quota's Referenz.
Voraussetzungen
Diese Regelaktion hat die folgenden Anforderungen:
-
Eine IAM-Rolle, die die Ausführung der
timestream:DescribeEndpoints
AND-Operationen übernehmen AWS IoT kann.timestream:WriteRecords
Weitere Informationen finden Sie unter Gewähren Sie einer AWS IoT Regel den Zugriff, den sie benötigt.In der AWS IoT Konsole können Sie eine Rolle auswählen, aktualisieren oder erstellen, um die Ausführung dieser Regelaktion AWS IoT zu ermöglichen.
-
Wenn Sie einen Kunden verwenden AWS KMS , um Daten im Ruhezustand in Timestream zu verschlüsseln, muss der Dienst die Erlaubnis haben, das im Namen des AWS KMS key Anrufers zu verwenden. Weitere Informationen finden Sie unter So verwenden AWS Dienste KMS. AWS
Parameter
Wenn Sie mit dieser Aktion eine AWS IoT Regel erstellen, müssen Sie die folgenden Informationen angeben:
databaseName
-
Der Name einer Amazon-Timestream-Datenbank, die über die Tabelle verfügt, in der die von dieser Aktion erstellten Datensätze empfangen werden sollen. Siehe auch
tableName
.Unterstützt Ersatzvorlagen: API und nur AWS CLI
dimensions
-
Metadatenattribute der Zeitreihen, die in jedem Messdatensatz geschrieben werden. Beispielsweise sind der Name und die Availability Zone einer EC2-Instance oder der Name des Herstellers einer Windkraftanlage Dimensionen.
name
Der Name der Metadatendimension. Dies ist der Name der Spalte im Datensatz der Datenbanktabelle.
Dimensionen können nicht benannt werden:
measure_name
,measure_value
, odertime
. Diese Namen sind vorbehalten. Dimensionsnamen dürfen nicht mitts_
odermeasure_value
beginnen und dürfen keinen Doppelpunkt (:
) enthalten.Unterstützt Ersatzvorlagen: Nein
value
Der Wert, der in diese Spalte des Datenbankdatensatzes geschrieben werden soll.
Unterstützt Ersatzvorlagen: Ja
roleArn
-
Der Amazon-Ressourcenname (ARN) der Rolle, die AWS IoT die Berechtigung zum Schreiben in die Timestream-Datenbanktabelle gewährt. Weitere Informationen finden Sie unter Voraussetzungen.
Unterstützt Ersatzvorlagen: Nein
tableName
-
Der Name der Datenbanktabelle, in die die Messdatensätze geschrieben werden sollen. Siehe auch
databaseName
.Unterstützt Substitutionsvorlagen: API und nur AWS CLI
timestamp
-
Der Wert, der für den Zeitstempel des Eintrags verwendet werden soll. Wenn das Feld leer ist, wird die Zeit verwendet, zu der der Eintrag verarbeitet wurde.
unit
-
Die Genauigkeit des Zeitstempelwerts, die sich aus dem unter
value
beschriebenen Ausdruck ergibt.Zulässige Werte:
SECONDS
|MILLISECONDS
|MICROSECONDS
|NANOSECONDS
. Der Standardwert istMILLISECONDS
. value
-
Ein Ausdruck, der einen Wert für lange Epochenzeit zurückgibt.
Sie können die time_to_epoch (Zeichenfolge, Zeichenfolge) Funktion verwenden, um einen gültigen Zeitstempel aus einem Datums- oder Uhrzeitwert zu erstellen, der in der Nachrichtennutzlast übergeben wurde.
Timestream-Datensatzinhalte
Die durch diese Aktion in die Amazon Timestream-Tabelle geschriebenen Daten umfassen einen Zeitstempel, Metadaten aus der Timestream-Regelaktion und das Ergebnis der Abfrageanweisung der Regel.
Für jedes Attribut (Kennzahl) im Ergebnis der Abfrageanweisung schreibt diese Regelaktion einen Datensatz mit diesen Spalten in die angegebene Timestream-Tabelle.
Spaltenname |
Attribut Typ |
Wert |
Kommentare |
---|---|---|---|
|
DIMENSION |
Der im Aktionseintrag für die Timestream-Regel angegebene Wert. |
Jede im Regelaktionseintrag angegebene Dimension erstellt eine Spalte in der Timestream-Datenbank mit dem Namen der Dimension. |
measure_name |
MEASURE_NAME |
Der Name des Attributs |
Der Name des Attributs im Ergebnis der Abfrageanweisung, dessen Wert in der |
measure_value:: |
MESS_WERT |
Der Wert des Attributs im Ergebnis der Abfrageanweisung. Der Name des Attributs steht in der |
Der Wert wird interpretiert* und als die am besten geeignete Übereinstimmung von: |
time |
TIMESTAMP (ZEITSTEMPEL) |
Das Datum und die Uhrzeit des Datensatzes in der Datenbank. |
Dieser Wert wird von der Regel-Engine oder der |
* Der aus der Nachrichtennutzlast gelesene Attributwert wird wie folgt interpretiert. Eine Veranschaulichung der einzelnen Fälle finden Sie in der Beispiele.
-
Ein Wert von
true
oderfalse
ohne Anführungszeichen wird alsboolean
Typ interpretiert. -
Eine dezimale Zahl wird als
double
Typ interpretiert. -
Ein numerischer Wert ohne Dezimalpunkt wird als
bigint
Typ interpretiert. -
Eine Zeichenfolge in Anführungszeichen wird als
varchar
Typ interpretiert. -
Objekte und Array-Werte werden in JSON-Zeichenketten konvertiert und als
varchar
Typ gespeichert.
Beispiele
Das folgende JSON-Beispiel definiert eine Timestream-Regelaktion mit einer Ersatzvorlage in einer Regel. AWS IoT
{ "topicRulePayload": { "sql": "SELECT * FROM 'iot/topic'", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "timestream": { "roleArn": "arn:aws:iam::123456789012:role/aws_iot_timestream", "tableName": "devices_metrics", "dimensions": [ { "name": "device_id", "value": "${clientId()}" }, { "name": "device_firmware_sku", "value": "My Static Metadata" } ], "databaseName": "record_devices" } } ] } }
Die Verwendung der im vorherigen Beispiel definierten Timestream-Themenregelaktion mit der folgenden Nachrichtennutzlast führt zu den Amazon Timestream-Datensätzen, die in der folgenden Tabelle aufgeführt sind.
{ "boolean_value": true, "integer_value": 123456789012, "double_value": 123.456789012, "string_value": "String value", "boolean_value_as_string": "true", "integer_value_as_string": "123456789012", "double_value_as_string": "123.456789012", "array_of_integers": [23,36,56,72], "array of strings": ["red", "green","blue"], "complex_value": { "simple_element": 42, "array_of_integers": [23,36,56,72], "array of strings": ["red", "green","blue"] } }
In der folgenden Tabelle werden die Datenbankspalten und Datensätze angezeigt, die durch die Verwendung der angegebenen Themenregelaktion zur Verarbeitung der vorherigen Nachrichtennutzlast erstellt wurden. Die device_firmware_sku
und device_id
Spalten sind die DIMENSIONEN, die in der Themenregelaktion definiert sind. Die Timestream-Themenregelaktion erstellt die time
Spalte und die measure_name
und measure_value::*
Spalten, die sie mit den Werten aus dem Ergebnis der Abfrageanweisung der Themenregelaktion füllt.
device_firmware_sku | Gerät_ID | measure_name | Messwert::bigint | Messwert::varchar | Messwert::doppelt | Messwert::boolean | time |
---|---|---|---|---|---|---|---|
Meine statischen Metadaten | iotconsole-159EXAMPLE738-0 | komplexer_Wert | - | {"simple_element":42,"array_of_integers":[23,36,56,72],"array of strings":["red","green","blue"]} | - | - | 2020-08-26 22:42:16.423000000 |
Meine statischen Metadaten | iotconsole-159EXAMPLE738-0 | Integer_Wert_als_Zeichenfolge | - | 123456789012 | - | - | 2020-08-26 22:42:16.423000000 |
Meine statischen Metadaten | iotconsole-159EXAMPLE738-0 | boolescher_Wert | - | - | - | TRUE | 2020-08-26 22:42:16.423000000 |
Meine statischen Metadaten | iotconsole-159EXAMPLE738-0 | Integer_Wert | 123456789012 | - | - | - | 2020-08-26 22:42:16.423000000 |
Meine statischen Metadaten | iotconsole-159EXAMPLE738-0 | Zeichenfolge_Wert | - | Zeichenfolge_Wert | - | - | 2020-08-26 22:42:16.423000000 |
Meine statischen Metadaten | iotconsole-159EXAMPLE738-0 | Array_von_ganzen_Zahlen | - | [23,36,56,72] | - | - | 2020-08-26 22:42:16.423000000 |
Meine statischen Metadaten | iotconsole-159EXAMPLE738-0 | Zeichenfolgen-Array | - | ["red","green","blue"] | - | - | 2020-08-26 22:42:16.423000000 |
Meine statischen Metadaten | iotconsole-159EXAMPLE738-0 | boolescher_Wert_als_Zeichenfolge | - | TRUE | - | - | 2020-08-26 22:42:16.423000000 |
Meine statischen Metadaten | iotconsole-159EXAMPLE738-0 | doppelter_Wert | - | - | 123.456789012 | - | 2020-08-26 22:42:16.423000000 |
Meine statischen Metadaten | iotconsole-159EXAMPLE738-0 | doppelter Wert_als_Zeichenfolge | - | 123,45679 | - | - | 2020-08-26 22:42:16.423000000 |