Timestream - AWS IoT Core

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, oder time. Diese Namen sind vorbehalten. Dimensionsnamen dürfen nicht mit ts_ oder measure_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 ist MILLISECONDS.

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

Name der Dimension

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::data-type Spalte angegeben ist.

measure_value:: Datentyp

MESS_WERT

Der Wert des Attributs im Ergebnis der Abfrageanweisung. Der Name des Attributs steht in der measure_name Spalte.

Der Wert wird interpretiert* und als die am besten geeignete Übereinstimmung von: bigint, boolean, double, oder varchar gewertet. Amazon Timestream erstellt für jeden Datentyp eine separate Spalte. Der Wert in der Nachricht kann mithilfe der cast() Funktion in der Abfrageanweisung der Regel in einen anderen Datentyp umgewandelt werden.

time

TIMESTAMP (ZEITSTEMPEL)

Das Datum und die Uhrzeit des Datensatzes in der Datenbank.

Dieser Wert wird von der Regel-Engine oder der timestamp Eigenschaft zugewiesen, sofern sie definiert ist.

* 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 oder false ohne Anführungszeichen wird als boolean 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